友盟第三方登录和分享
2016-06-28 20:54
387 查看
1.进入友盟页面,点击最上面产品中的分享。
2.点击分享页面的sdk及文档下的安卓图标。
3.点击上面的SDK下载,下载里面的SDK v6.1.2,下面的选型全选,上面的图标,想分享到那个软件就选哪个软件。
4.将3.下载并安装里
AndroidManifest配置下面的代码复制下来,粘贴到AndroidManifest.xml文件里。
<activityandroid:name="com.umeng.socialize.editorpage.ShareActivity"android:theme="@style/Theme.UMDefault"android:excludeFromRecents="true"/>
5.解压下载的SDK包,将文件里的main文件里的lib和res文件夹放入所做的项目里。
6.将AndroidManifest配置-------设置友盟的appid下面的代码粘贴到AndroidManifest.xml文件里。
<meta-dataandroid:name="UMENG_APPKEY"android:value="4eaee02c527015373b000003"
></meta-data>
7.
将AndroidManifest配置-------设置友盟的appid-----------设置权限下面的权限粘贴到AndroidManifest.xml文件中。
//微信平台
<activityandroid:name="com.umeng.soexample.wxapi.WXEntryActivity"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar"
/>
9.在友盟集合文档第四点初始化配置下面的4.1的代码放入Appcliation类中。
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
10.登录:将第三方登录下的代码放入到代码里。
首先获取UMShareAPI
选取需要授权的平台,并进行授权,其中umAuthLisrener是回调监听器,需要开发者根据需求重新定义
[/code]
对于删除授权使用的接口是
不难看出与授权的参数是一样的。
注意要重写
11.获取登录后的信息
初始化UMShareAPI,然后进行用户信息获取:
注意必须在调用授权接口
onActivityResult()@OverrideprotectedvoidonActivityResult(int
requestCode, int
resultCode, Intent data){super.onActivityResult(requestCode,
resultCode, data); mShareAPI.onActivityResult(requestCode, resultCode, data); }
//获取qq上的数据
public void ll(SHARE_MEDIA platform)
{
mShareAPI.getPlatformInfo(getActivity(), platform, new UMAuthListener() {
@Override
public void onError(SHARE_MEDIA arg0, int arg1, Throwable arg2) {
// TODO Auto-generated method stub
}
@Override
public void onComplete(SHARE_MEDIA arg0, int arg1, Map<String, String> arg2) {
// TODO Auto-generated method stub
//转换为set
Set<String> keySet = arg2.keySet();
//遍历循环,得到里面的key值----用户名,头像....
for (String string : keySet) {
//打印下
Log.d("aa", string);
}
//得到key值得话,可以直接的到value
String name = arg2.get("screen_name");
String url = arg2.get("profile_image_url");
/*ni1.setText(name);
iit.displayImage(url,ni);*/
}
@Override
public void onCancel(SHARE_MEDIA arg0, int arg1) {
// TODO Auto-generated method stub
}
});
}
12。分享
图片(本地资源引用)
选取分享的平台,设定分享回调接口和内容,并执行share方法。 回调接口如下:
值得注意的是,分享也应该重写
//分享的是哪个软件就在友盟下载的SDK里面platforms文件夹下面找到自己要分享的第三方软件的文件,将里面的lib和res文件夹粘贴到所做项目里
2.点击分享页面的sdk及文档下的安卓图标。
3.点击上面的SDK下载,下载里面的SDK v6.1.2,下面的选型全选,上面的图标,想分享到那个软件就选哪个软件。
4.将3.下载并安装里
AndroidManifest配置下面的代码复制下来,粘贴到AndroidManifest.xml文件里。
<activityandroid:name="com.umeng.socialize.editorpage.ShareActivity"android:theme="@style/Theme.UMDefault"android:excludeFromRecents="true"/>
5.解压下载的SDK包,将文件里的main文件里的lib和res文件夹放入所做的项目里。
6.将AndroidManifest配置-------设置友盟的appid下面的代码粘贴到AndroidManifest.xml文件里。
<meta-dataandroid:name="UMENG_APPKEY"android:value="4eaee02c527015373b000003"
></meta-data>
7.
将AndroidManifest配置-------设置友盟的appid-----------设置权限下面的权限粘贴到AndroidManifest.xml文件中。
<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" />8.将自己要分享的平台的Activity放入到AndroidManifest.xml文件中。
//微信平台
<activityandroid:name="com.umeng.soexample.wxapi.WXEntryActivity"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar"
/>
9.在友盟集合文档第四点初始化配置下面的4.1的代码放入Appcliation类中。
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
10.登录:将第三方登录下的代码放入到代码里。
首先获取UMShareAPI
mShareAPI = UMShareAPI.get(this);
选取需要授权的平台,并进行授权,其中umAuthLisrener是回调监听器,需要开发者根据需求重新定义
SHARE_MEDIA platform = SHARE_MEDIA.SINA; mShareAPI.doOauthVerify(this, platform, umAuthListener) private UMAuthListener umAuthListener = new UMAuthListener() { @Override public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) { Toast.makeText( getApplicationContext(), "Authorize succeed", Toast.LENGTH_SHORT).show(); } @Override public void onError(SHARE_MEDIA platform, int action, Throwable t) { Toast.makeText( getApplicationContext(), "Authorize fail", Toast.LENGTH_SHORT).show(); } @Override public void onCancel(SHARE_MEDIA platform, int action) { Toast.makeText( getApplicationContext(), "Authorize cancel", Toast.LENGTH_SHORT).show(); } };
[/code]
对于删除授权使用的接口是
mShareAPI.deleteOauth(AuthActivity.this, platform, umdelAuthListener);
不难看出与授权的参数是一样的。
注意要重写
onActivityResult() @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); mShareAPI.onActivityResult(requestCode, resultCode, data); }
11.获取登录后的信息
mShareAPI = UMShareAPI.get(this);
SHARE_MEDIA platform = SHARE_MEDIA.SINA; (SHARE_MEDIA platform = SHARE_MEDIA.QQ;第三方软件是什么,SHARE_MEDIA.第三方软件名称)
初始化UMShareAPI,然后进行用户信息获取:
mShareAPI.getPlatformInfo(UserinfoActivity.this, platform, umAuthListener);
注意必须在调用授权接口
mShareAPI.doOauthVerify(this, platform, umAuthListener)之后才可以获取用户信息,建议在doOauthVerify方法完成的onComplete方法中调用获取用户信息方法,返回的所有信息都在Map data)集合中获取
onActivityResult()@OverrideprotectedvoidonActivityResult(int
requestCode, int
resultCode, Intent data){super.onActivityResult(requestCode,
resultCode, data); mShareAPI.onActivityResult(requestCode, resultCode, data); }
//获取qq上的数据
public void ll(SHARE_MEDIA platform)
{
mShareAPI.getPlatformInfo(getActivity(), platform, new UMAuthListener() {
@Override
public void onError(SHARE_MEDIA arg0, int arg1, Throwable arg2) {
// TODO Auto-generated method stub
}
@Override
public void onComplete(SHARE_MEDIA arg0, int arg1, Map<String, String> arg2) {
// TODO Auto-generated method stub
//转换为set
Set<String> keySet = arg2.keySet();
//遍历循环,得到里面的key值----用户名,头像....
for (String string : keySet) {
//打印下
Log.d("aa", string);
}
//得到key值得话,可以直接的到value
String name = arg2.get("screen_name");
String url = arg2.get("profile_image_url");
/*ni1.setText(name);
iit.displayImage(url,ni);*/
}
@Override
public void onCancel(SHARE_MEDIA arg0, int arg1) {
// TODO Auto-generated method stub
}
});
}
12。分享
图片(本地资源引用)
UMImage image = new UMImage(ShareActivity.this, BitmapFactory.decodeResource(getResources(), R.drawable.image));
6.1 默认shareboard:
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 }; new ShareAction(this).setDisplayList( displaylist ) .withText( "呵呵" ) .withTitle("title") .withTargetUrl("http://www.baidu.com") .withMedia( image ) .setListenerList(umShareListener) .open();
选取分享的平台,设定分享回调接口和内容,并执行share方法。 回调接口如下:
new UMShareListener() { @Override public void onResult(SHARE_MEDIA platform) { Toast.makeText(ShareActivity.this,platform + " 分享成功啦", Toast.LENGTH_SHORT).show(); } @Override public void onError(SHARE_MEDIA platform, Throwable t) { Toast.makeText(ShareActivity.this,platform + " 分享失败啦", Toast.LENGTH_SHORT).show(); } @Override public void onCancel(SHARE_MEDIA platform) { Toast.makeText(ShareActivity.this,platform + " 分享取消了", Toast.LENGTH_SHORT).show(); } };//还可以这么写:将umShareListener改成 new UMShareListener() { @Override public void onResult(SHARE_MEDIA platform) { Toast.makeText(ShareActivity.this,platform + " 分享成功啦", Toast.LENGTH_SHORT).show(); } @Override public void onError(SHARE_MEDIA platform, Throwable t) { Toast.makeText(ShareActivity.this,platform + " 分享失败啦", Toast.LENGTH_SHORT).show(); } @Override public void onCancel(SHARE_MEDIA platform) { Toast.makeText(ShareActivity.this,platform + " 分享取消了", Toast.LENGTH_SHORT).show(); } };[/code]
值得注意的是,分享也应该重写
onActivityResult() @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get( this ).onActivityResult( requestCode, resultCode, data); }
//分享的是哪个软件就在友盟下载的SDK里面platforms文件夹下面找到自己要分享的第三方软件的文件,将里面的lib和res文件夹粘贴到所做项目里
相关文章推荐
- Spark Hbase读取操作的一些总结与测试
- POJ 2777 线段树
- Handler的使用
- >>> FilterDispatcher <<< is deprecated! Please use the new filters!
- Maven入门指南(一)
- POJ 2777 线段树
- android 6.28 第一行代码第5.5节broadcastBestreceiver
- Apache Tomcat Native Library
- 跳台阶(斐波那契数列)
- 最长公共子串问题
- HBuilder
- 肤色检测一例-使用rgb颜色模型
- Linux-ulimit命令
- 访问服务器地址中的某个文件链接,下载文件到客户端
- python强制类型转换(dpkt)
- unsigned long的一点应用
- session入库
- 为 Tomcat 安装 apr
- 吉布斯采样——原理及matlab实现
- Erasure Coding(纠删码)深入分析