Android 分享设置 ShareSDK QQ空间 腾讯微博 新浪微博


1、 下载 ShareSDK, 进入 Share SDK for Android 下的 Libs 下的 MainLibs/libs 文件夹,将不需要的分享 jar 文件删除,其中 核心 jar 包 ShareSDK-Core 不能删;

2、 完了之后,将 修改后的 MainLibs 和 OneKeyShare 复制到待开发的项目相同父目录下;

3、 将 代开发的项目 和  MainLibs 以及 OneKeyShare 一起导入 eclipse 中;

4、 将 Share SDK for Android/Res 目录下的 ShareSDK.xml 文件复制到 assets 目录下;

5、 在 ShareSDK.xml 下, 将 <ShareSDK AppKey = "xxxxx"/>  中的 xxxx 替换为你在ShareSDK.cn 官网申请的 AppKey

6、 进入 http://connect.qq.com/intro/login/ 创建 移动应用, 并将获取到的 APP ID 和 APP KEY 填入 ShareSDK.xml 文件中,并在 管理中心 -> 平台信息 中写入对应的包名、签名、类名、下载地址等,最后保存。

7、 同理,进入http://dev.t.qq.com 创建 无线应用,并将获取到的App Key 和 App Secret 填入 ShareSDK.xml 文件中;

8、 同理,进入 http://open.weibo.com/ 创建 移动应用,将获取到App Key 和 App Secret 填入 ShareSDK.xml 文件中, 然后进入管理中心,在基本信息栏中写入 Android 包名, Android 签名(eclipse -> Window -> preference -> Android -> build 下的 MD5 fingerprint ,去掉冒号,改为小写), 其他可随便填写,但要合法,最后保存; 然后进入 高级信息 -> OAuth2.0 授权设置 -> 编辑 ,在授权回调页和取消授权回调页 中写入合法的 url 地址; 最后进入 测试帐号 -> 编辑 -> 填入新浪微博帐号名称, (可以 @ 的昵称)最后保存即可;


  PS: ShareSDK.xml 中新浪微博 和 腾讯微博 下的 RedirectUri 属性需要与创建应用时的 应用网址 和 授权回调页 对应,否则会出现授权错误


9、最后配置 AndroidMenifest.xml 文件,添加权限信息

<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>

和 一个 Activit 信息
<activity
   android:name="cn.sharesdk.framework.ShareSDKUIShell"
   android:theme="@android:style/Theme.Translucent.NoTitleBar"
   android:configChanges="keyboardHidden|orientation|screenSize"
   android:screenOrientation="portrait"
   android:windowSoftInputMode="stateHidden|adjustResize" />

10、最后监听某个控件,在 public void onClick(View view) 下实现授权操作如下,例如


findViewById(R.id.button).setOnClickListener(this);
// ...

public void onClick(View view){
  switch(view.getId())
  case button:
     Platform platform = ShareSDK.getPlatform(this,QZone.NAME);// 如果是新浪微博则为 SinaWeibo.NAME,腾讯微博则为 TencentWeibo.NAME
     platform.setPlatformActionListener(new PlatformActionListener() {
		
		@Override
		public void onError(Platform arg0, int arg1, Throwable arg2) {
			handler.sendEmptyMessage(ERROR);
			Log.e(TAG,arg2.getMessage());
		}
		
		@Override
		public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {
			handler.sendEmptyMessage(COMPLETE);
		}
		
		@Override
		public void onCancel(Platform arg0, int arg1) {
			handler.sendEmptyMessage(CANCLE);
		}
	});
     platform.authorize();
      break;
 }


// 因为回调接口运行在非 UI 线程中,所以不能在里面处理 UI 操作,所以在里面用 handler 将消息发送到主线程进行处理最后定义一个 Handler 用于处理 Message

Handler handler = new Handler(){
  public void  handleMessage(Message msg) {
   switch(msg.what){
    case ERROR:
     //...
    case COMPLETE:
    //...
   case CANCLE:
    //...
  }
  }
}
其中 ERROR 、COMPLETE、CANCLE 是 常量,可如下定义:
private final int ERROR = 0;
private final int COMPLETE = 1;
private final int CANCLE = 2;

至此,不出意外的话应该是可以的实现授权操作的了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值