友盟第三方登录和分享

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

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

相关文章推荐

iOS友盟做第三方登录和分享注意事项

利用友盟SDK设置三方登录的注意事项

友盟登录、分享 注意事项(5.0之前)

1、先说测试的时候:QQ和微信必须使用正式的包,不能使用debug环境的。如果不使用正式的包会出现如下情况: 1)微信:点击没有反应,不执行onComplete。微信登录的问题原因是微信开放...

友盟第三方登录和分享

1.进入友盟页面,点击最上面产品中的分享。 2.点击分享页面的sdk及文档下的安卓图标。 3.点击上面的SDK下载,下载里面的SDK v6.1.2,下面的选型全选,上面的图标,想分享到那个软件就选哪个...

友盟 第三方登录

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

CocoaPods 问题:cocoapods was not able to update the 'master' repo

问题:cocoapods was not able to update the 'master' repo.if it is a unexpected issue and persists you c...

友盟第三方登录与分享到新浪微博

首先申请第三方账号,大部分的平台要进行登录和分享功能,都要在第三方平台上创建应用并提交审核,创建应用后,分享登录操作时显示应用的icon,名称和对应的开放平台设置有关 登录新浪微博开放平台,进行创建...

安卓第三方友盟登录与分享

第一次写博客有写的不好的地方,请大家见谅,我会尽量写得更加细节 在初学这中实现第三方QQ登录微信登录时会遇到很多问题,现在我讲讲一下之前我遇到的那些问题。 其实在友盟实现第三方登录时,由于文档有些细节...

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

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

支付宝支付流程

在iOS应用里集成支付宝支付,需要公司和支付宝签约,然后生成相应的密钥。密钥的生成支付宝的开发文档里已经说的非常清楚。 官方的文档和SDK: https://doc.open.alipay.com/d...

友盟第三方登录和分享的使用

获取友盟Appkey 如果你之前已经在友盟注册了应用,并获取到了Appkey,可以继续使用它. 如果你尚未在友盟注册开发者账号,需要先注册,注册之后登录你的账号,点击添加新应用,填写完应用基本...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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