友盟第三方登录及分享

来源:互联网 发布:matlab矩阵中有未知数 编辑:程序博客网 时间:2024/06/07 06:26

一、分享

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 appsecretPlatformConfig.setSinaWeibo("3921700954","04b48b094faeb16683c32669824ebdad");// 新浪微博 appkey appsecretPlatformConfig.setQQZone("100424468","c7394704798a158208a74ab60104f0ba");// QQ和Qzone appid appkeyPlatformConfig.setAlipay("2015111700822536");// 支付宝 appidPlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf");// 易信 appkeyPlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi","MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO");// Twitter appid appkeyPlatformConfig.setPinterest("1439206");// Pinterest appidPlatformConfig.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() {@Overridepublic void onResult(SHARE_MEDIA platform) {Toast.makeText(MainActivity.this, platform + " 分享成功啦",Toast.LENGTH_SHORT).show();}@Overridepublic void onError(SHARE_MEDIA platform, Throwable t) {Toast.makeText(MainActivity.this, platform + " 分享失败啦",Toast.LENGTH_SHORT).show();}@Overridepublic void onCancel(SHARE_MEDIA platform) {Toast.makeText(MainActivity.this, platform + " 分享取消了",Toast.LENGTH_SHORT).show();}}).open();

8. 重写Activity的回调方法
@Overrideprotected 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.登录按钮的点击事件

// 获取UMShareAPImShareAPI = UMShareAPI.get(mainActivity);// 使用哪个平台账号登录final SHARE_MEDIA platform = SHARE_MEDIA.QQ;mShareAPI.doOauthVerify(mainActivity, platform, new UMAuthListener() {@Overridepublic void onError(SHARE_MEDIA arg0, int arg1, Throwable arg2) {}@Overridepublic void onComplete(SHARE_MEDIA arg0, int arg1, Map<String, String> arg2) {mShareAPI.getPlatformInfo(mainActivity, platform, new UMAuthListener() {@Overridepublic void onError(SHARE_MEDIA arg0,int arg1, Throwable arg2) {}@Overridepublic 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);}@Overridepublic void onCancel(SHARE_MEDIA arg0, int arg1) {}});}@Overridepublic void onCancel(SHARE_MEDIA arg0, int arg1) {}});


2. 在回调方法中添加

mShareAPI.onActivityResult(requestCode, resultCode, data);




0 0
原创粉丝点击