友盟第三方登录和分享

原创 2016年08月30日 14:52:47

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文件中。

[java] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. <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();
        }
    };

对于删除授权使用的接口是

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();        }    };

值得注意的是,分享也应该重写

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文件夹粘贴到所做项目里

版权声明:本文为博主原创文章,未经博主允许不得转载。

友盟 第三方登录

友盟  第三方登录 关于基本配置问题 请移步点击打开链接。 第三方登录 首先要申请友盟的Appkey,然后在的QQ 微信、新浪 三方平台获取自己的 Appkey 和App Secret 1.集成...
  • m18860232520
  • m18860232520
  • 2017年04月26日 13:21
  • 3057

umeng(友盟)实现第三方登录和分享详解之登录详解

一、简单介绍因为一个平台一个平台进行弄太麻烦,也不够统一,所以领导选择了umeng(我的内心是拒绝的),umeng的文档写的便于查找,但是比较分散,对于比较熟悉的很好用,没接触过umeng的肯定一脸懵...
  • qq_37237245
  • qq_37237245
  • 2017年08月24日 20:25
  • 1572

iOS集成友盟第三方登录

可以参考demo来做,demo是可以跑起来的,如果用demo,只需要把key和ID换掉就好了,点击下载demo注册APPKey去友盟注册新AppKey拿到注册的AppKey导入SDK导入友盟提供的SD...
  • Coco__D
  • Coco__D
  • 2017年05月10日 21:20
  • 732

友盟的社会化分享和第三方登录集成步骤

还是那句话,这种东西并不难,按照文档来,一遍不通就再读一遍,总能通的,我这里正好列一下要点及需要注意的地方,希望能够节约大家集成的时间:官方文档地址:友盟社会化分享及三方登录链接1.到三方的开发平台注...
  • zpbshine
  • zpbshine
  • 2017年06月13日 16:54
  • 325

友盟--第三方登录

1.如果你尚未在友盟注册开发者账号,需要先注册,注册之后登录你的账号,点击添加新应用,填写完应用基本信息后,将进入"下载SDK并添加代码"页面,此页面即可得到Appkey。 2.下载并安装SDK--...
  • liangmengmeng0927
  • liangmengmeng0927
  • 2016年12月11日 20:06
  • 800

Android基于友盟的第三方登陆

1:申请,申请,申请 Android任何第三方的东西都要在其官网注册id,创建应用并获取key。这里也就同样了。不过申请都是比较简单的,每个官网都有自己的申请方式以及文档说明,这里就不啰嗦了。 主...
  • little_shengsheng
  • little_shengsheng
  • 2016年06月01日 19:40
  • 6150

Android-友盟第三方登录、分享实现 完整实例源码

  • 2014年11月14日 13:12
  • 3.78MB
  • 下载

四种第三方登录(附源码)

实现QQ、微信、新浪微博和百度第三方登录(Android Studio) 前言: 对于大多数的APP都有第三方登录这个功能,自己也做过几次,最近又有一个新项目用到了第三方登录,所以特意总结了一下...
  • luyaran
  • luyaran
  • 2016年10月01日 08:58
  • 533

Umeng分享/第三方授权登录

//错误代码提示: typedef NS_ENUM(NSInteger, UMSocialPlatformErrorType) { + UMSocialPlatformErrorType_U...
  • u011146511
  • u011146511
  • 2017年03月16日 10:49
  • 3871

接入友盟第三方登录与分享,判断应用是否安装

接入友盟第三方登录与分享,我们需要判断应用是否安装或者是否支持,以微信为例: /** * 平台是否安装 * * @param platformType 平台类型 @see UMSocial...
  • Alan_xz
  • Alan_xz
  • 2017年12月12日 14:57
  • 182
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:友盟第三方登录和分享
举报原因:
原因补充:

(最多只允许输入30个字)