友盟第三方登录及分享

一、分享

1.下载友盟的开源库 social_sdk_library_project

     http://download.csdn.net/detail/and_hl/9558667


2. 进行项目的依赖选中自己的项目---->右击选择properties---->选择左侧的Android---->在Library节点下Add下载好的social_sdk_library_project的开源库


3. 在AndroidManifest.xml清单文件配置权限

<span style="font-size:18px;"><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.SET_DEBUG_APP" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /></span>


4.AndroidManifest.xml清单文件application节点中配置

<meta-data
            android:name="UMENG_APPKEY"
            android:value="4eaee02c527015373b000003" >
        </meta-data>

        <!-- 微信 -->
        <activity
            android:name="com.umeng.soexample.wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <!-- 新浪微博 -->
        <activity
            android:name=".WBShareActivity"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"
            android:configChanges="keyboardHidden|orientation"
            android:exported="false"
            android:windowSoftInputMode="adjustResize" >
        </activity>

        <service
            android:name="com.sina.weibo.sdk.net.DownloadService"
            android:exported="false" >
        </service>

        <!-- QQ   Qzone -->
        <activity
            android:name="com.tencent.tauth.AuthActivity"
            android:launchMode="singleTask"
            android:noHistory="true" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="tencent100424468" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />


5.创建自己的MyApplication类继承Application,进行配置

PlatformConfig.setWeixin("wx967daebe835fbeac",
				"5bb696d9ccd75a38c8a0bfe0675559b3");
		// 微信 appid appsecret
		PlatformConfig.setSinaWeibo("3921700954",
				"04b48b094faeb16683c32669824ebdad");
		// 新浪微博 appkey appsecret
		PlatformConfig.setQQZone("100424468",
				"c7394704798a158208a74ab60104f0ba");
		// QQ和Qzone appid appkey
		PlatformConfig.setAlipay("2015111700822536");
		// 支付宝 appid
		PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf");
		// 易信 appkey
		PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi",
				"MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO");
		// Twitter appid appkey
		PlatformConfig.setPinterest("1439206");
		// Pinterest appid
		PlatformConfig.setLaiwang("laiwangd497e70d4",
				"d497e70d4c3e4efeab1381476bac4c5e");
		// 来往 appid appkey

6. 在 AndroidManifest.xml清单文件中Application节点下进行引用

android:name="全类名.MyApplication"


7.在Activity中实现分享操作 按钮的点击事件中

UMImage image = new UMImage(MainActivity.this,
				BitmapFactory.decodeResource(getResources(),
						android.R.drawable.editbox_dropdown_light_frame));

		new ShareAction(this).setDisplayList(displaylist).withText("呵呵")
				.withTitle("title").withTargetUrl("http://www.baidu.com")
				.withMedia(image).setListenerList(new UMShareListener() {
					@Override
					public void onResult(SHARE_MEDIA platform) {
						Toast.makeText(MainActivity.this, platform + " 分享成功啦",
								Toast.LENGTH_SHORT).show();
					}

					@Override
					public void onError(SHARE_MEDIA platform, Throwable t) {
						Toast.makeText(MainActivity.this, platform + " 分享失败啦",
								Toast.LENGTH_SHORT).show();
					}

					@Override
					public void onCancel(SHARE_MEDIA platform) {
						Toast.makeText(MainActivity.this, platform + " 分享取消了",
								Toast.LENGTH_SHORT).show();
					}
				}).open();

8. 重写Activity的回调方法
@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
	}

9. 成员变量

final SHARE_MEDIA[] displaylist = new SHARE_MEDIA[] { SHARE_MEDIA.WEIXIN,
			SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.SINA, SHARE_MEDIA.QQ,
			SHARE_MEDIA.QZONE, SHARE_MEDIA.DOUBAN };




二、登录

1.登录按钮的点击事件

// 获取UMShareAPI
		mShareAPI = UMShareAPI.get(mainActivity);
		// 使用哪个平台账号登录
		final SHARE_MEDIA platform = SHARE_MEDIA.QQ;

		mShareAPI.doOauthVerify(mainActivity, platform, new UMAuthListener() {
			
			@Override
			public void onError(SHARE_MEDIA arg0, int arg1, Throwable arg2) {
				
			}
			
			@Override
			public void onComplete(SHARE_MEDIA arg0, int arg1, Map<String, String> arg2) {
				
				
				mShareAPI.getPlatformInfo(mainActivity, platform, new UMAuthListener() {
							@Override
							public void onError(SHARE_MEDIA arg0,
									int arg1, Throwable arg2) {
							}
							@Override
							public void onComplete(SHARE_MEDIA arg0,
									int arg1, Map<String, String> map) {
								// screen_name 网名
								// profile_image_url 头像地址
								String url = map.get("profile_image_url");
								String name = map.get("screen_name");
								System.out.println(url + "-----" + name);
								
								iv_icon.setImageUrl(url);
								tv_name.setText(name);
							}
							@Override
							public void onCancel(SHARE_MEDIA arg0, int arg1) {
							}
						});
			}
			
			@Override
			public void onCancel(SHARE_MEDIA arg0, int arg1) {
				
			}
		});


2. 在回调方法中添加

mShareAPI.onActivityResult(requestCode, resultCode, data);




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值