Android Open Source - Music-Share-Android Weibo






From Project

Back to project page Music-Share-Android.

License

The source code is released under:

GNU General Public License

If you think the Android project Music-Share-Android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.weibo.sdk.android;
/*w  ww  . j  a  va2 s.  co m*/
import com.weibo.sdk.android.util.Utility;

import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.webkit.CookieSyncManager;

/**
 * 
 * @author luopeng (luopeng@staff.sina.com.cn)
 */
public class Weibo {


  public  String app_key = "";//??????appkey
  public  String redirecturl = "";// ??????url
  public  String oauthUrl = "";
  
  private String scope = null;

  public Oauth2AccessToken accessToken = null;//AccessToken??

  public String tag = "";
  
  public static final String KEY_TOKEN = "access_token";
  public static final String KEY_EXPIRES = "expires_in";
  public static final String KEY_REFRESHTOKEN = "refresh_token";
  public static boolean isWifi=false;//????????wifi
  
  

  
  /**
   * Weibo?????
   * @param appKey ???App Key
   * @param redirectUrl ???Redirect Url
   * @param authUrl ??????????????
   * @author Xavier
   */
  public Weibo(String appKey,String redirectUrl,String authUrl){
    app_key = appKey;
    redirecturl = redirectUrl;
    oauthUrl = authUrl;
  }

  /**
   * Weibo????? ??Scope
   * @param appKey ???App Key
   * @param redirectUrl ???Redirect Url
   * @param authUrl ??????????????
   * @param scope ???Scope????
   * @author Xavier
   */
  public Weibo(String appKey,String redirectUrl,String authUrl,String scope){
    app_key = appKey;
    redirecturl = redirectUrl;
    oauthUrl = authUrl;
    this.scope = scope;
  }

  
  /**
   * ?????????appkey???????url
   * @param appKey ??????appkey
   * @param redirectUrl ?????????
   */
  public void setupConsumerConfig(String appKey,String redirectUrl) {
    app_key = appKey;
    redirecturl = redirectUrl;
  }
  /**
   * ?Weibo????Oauth2AccessToken
   * @param token
   * @author Xavier
   */
  public void setupAccessToken(Oauth2AccessToken token){
    this.accessToken = token;
  }
  
  /**
   * 
   * ?????????
   * @param activity ????????Context??
   * @param listener WeiboAuthListener ??????????????
   */
  public void authorize(Context context, WeiboAuthListener listener) {
    isWifi=Utility.isWifi(context);
    startAuthDialog(context, listener);
  }

  public void startAuthDialog(Context context, final WeiboAuthListener listener) {
    WeiboParameters params = new WeiboParameters();
//    CookieSyncManager.createInstance(context);
    startDialog(context, params, new WeiboAuthListener() {
      @Override
      public void onComplete(Bundle values) {
        // ensure any cookies set by the dialog are saved
        Log.d("Weibo-authorize","onComplete");
        CookieSyncManager.getInstance().sync();
        if (null == accessToken) {
          accessToken = new Oauth2AccessToken();
        }
        accessToken.setToken(values.getString(KEY_TOKEN));
        accessToken.setExpiresIn(values.getString(KEY_EXPIRES));
        accessToken.setRefreshToken(values.getString(KEY_REFRESHTOKEN));
        if (accessToken.isSessionValid()) {
          Log.d("Weibo-authorize",
              "Login Success! access_token=" + accessToken.getToken() + " expires="
                  + accessToken.getExpiresTime() + " refresh_token="
                  + accessToken.getRefreshToken());
          listener.onComplete(values);
        } else {
          Log.d("Weibo-authorize", "Failed to receive access token");
          listener.onWeiboException(new WeiboException("Failed to receive access token."));
        }
      }

      @Override
      public void onError(WeiboDialogError error) {
        Log.d("Weibo-authorize", "Login failed: " + error);
        listener.onError(error);
      }

      @Override
      public void onWeiboException(WeiboException error) {
        Log.d("Weibo-authorize", "Login failed: " + error);
        listener.onWeiboException(error);
      }

      @Override
      public void onCancel() {
        Log.d("Weibo-authorize", "Login canceled");
        listener.onCancel();
      }
    });
  }

  public void startDialog(Context context, WeiboParameters parameters,
      final WeiboAuthListener listener) {
    parameters.add("client_id", app_key);
    parameters.add("response_type", "token");
    parameters.add("redirect_uri", redirecturl);
    parameters.add("display", "mobile");
    if(scope!=null){
      parameters.add("scope",scope);
    }

    if (accessToken != null && accessToken.isSessionValid()) {
      parameters.add(KEY_TOKEN, accessToken.getToken());
    }
    String url = oauthUrl + "?" + Utility.encodeUrl(parameters);
    url= url.replaceAll("html+", "html");
    if (context.checkCallingOrSelfPermission(Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED) {
      Utility.showAlert(context, "Error",
          "Application requires permission to access the Internet");
    } else {
      new WeiboDialog(context, url, listener,redirecturl).show();
    }
  }

}




Java Source Code List

android.net.http.SslError.java
com.paperairplane.music.share.AtSuggestionActivity.java
com.paperairplane.music.share.Consts.java
com.paperairplane.music.share.FeedbackMessage.java
com.paperairplane.music.share.Main.java
com.paperairplane.music.share.MusicData.java
com.paperairplane.music.share.MusicListAdapter.java
com.paperairplane.music.share.QueryAndShareMusicInfo.java
com.paperairplane.music.share.Receiver.java
com.paperairplane.music.share.SnsHelper.java
com.paperairplane.music.share.cache.ImageLoader.java
com.paperairplane.music.share.cache.MemoryCache.java
com.paperairplane.music.share.dialogs.AboutDialogFragment.java
com.paperairplane.music.share.dialogs.AbsDialogFragment.java
com.paperairplane.music.share.dialogs.AuthManagerDialogFragment.java
com.paperairplane.music.share.dialogs.BackgroundChooserDialogFragment.java
com.paperairplane.music.share.dialogs.ChangeColorDialogFragment.java
com.paperairplane.music.share.dialogs.EmptyDialogFragment.java
com.paperairplane.music.share.dialogs.FeedbackDialogFragment.java
com.paperairplane.music.share.dialogs.SearchDialogFragment.java
com.paperairplane.music.share.dialogs.SendWeiboDialogFragment.java
com.paperairplane.music.share.dialogs.ThankDialogFragment.java
com.paperairplane.music.share.utils.CrashHandler.java
com.paperairplane.music.share.utils.HanziToPinyin.java
com.paperairplane.music.share.utils.HttpQuestHandler.java
com.paperairplane.music.share.utils.IntentResolver.java
com.paperairplane.music.share.utils.MyLogger.java
com.paperairplane.music.share.utils.ShakeDetector.java
com.paperairplane.music.share.utils.Utilities.java
com.paperairplane.music.share.utils.lastfm.Album.java
com.paperairplane.music.share.utils.lastfm.Artist.java
com.paperairplane.music.share.utils.lastfm.Caller.java
com.paperairplane.music.share.utils.lastfm.DomElement.java
com.paperairplane.music.share.utils.lastfm.ImageHolder.java
com.paperairplane.music.share.utils.lastfm.ImageSize.java
com.paperairplane.music.share.utils.lastfm.Image.java
com.paperairplane.music.share.utils.lastfm.ItemFactoryBuilder.java
com.paperairplane.music.share.utils.lastfm.ItemFactory.java
com.paperairplane.music.share.utils.lastfm.MapUtilities.java
com.paperairplane.music.share.utils.lastfm.MusicEntry.java
com.paperairplane.music.share.utils.lastfm.PaginatedResult.java
com.paperairplane.music.share.utils.lastfm.ResponseBuilder.java
com.paperairplane.music.share.utils.lastfm.Result.java
com.paperairplane.music.share.utils.lastfm.StringUtilities.java
com.paperairplane.music.share.utils.lastfm.Track.java
com.weibo.sdk.android.Oauth2AccessToken.java
com.weibo.sdk.android.WeiboAuthListener.java
com.weibo.sdk.android.WeiboDialogError.java
com.weibo.sdk.android.WeiboDialog.java
com.weibo.sdk.android.WeiboException.java
com.weibo.sdk.android.WeiboParameters.java
com.weibo.sdk.android.Weibo.java
com.weibo.sdk.android.api.AccountAPI.java
com.weibo.sdk.android.api.ActivityInvokeAPI.java
com.weibo.sdk.android.api.CommentsAPI.java
com.weibo.sdk.android.api.CommonAPI.java
com.weibo.sdk.android.api.FavoritesAPI.java
com.weibo.sdk.android.api.FriendshipsAPI.java
com.weibo.sdk.android.api.PlaceAPI.java
com.weibo.sdk.android.api.RegisterAPI.java
com.weibo.sdk.android.api.SearchAPI.java
com.weibo.sdk.android.api.ShortUrlAPI.java
com.weibo.sdk.android.api.StatusesAPI.java
com.weibo.sdk.android.api.SuggestionsAPI.java
com.weibo.sdk.android.api.TagsAPI.java
com.weibo.sdk.android.api.TrendsAPI.java
com.weibo.sdk.android.api.UsersAPI.java
com.weibo.sdk.android.api.WeiboAPI.java
com.weibo.sdk.android.net.AsyncWeiboRunner.java
com.weibo.sdk.android.net.HttpManager.java
com.weibo.sdk.android.net.NetStateManager.java
com.weibo.sdk.android.net.RequestListener.java
com.weibo.sdk.android.sso.SsoHandler.java
com.weibo.sdk.android.util.BitmapHelper.java
com.weibo.sdk.android.util.Utility.java