您的位置:首页 > 其它

友盟第三方登陆,及分享,使用工具集成。

2016-04-05 16:13 429 查看
       

 

                   做了很多中方式登陆,分享,个人认为下面这一种最为简单实用;

                            首先,使用SDKIntegration友盟集成配置工具,自动会导入jar包,配置权限到你的项目中,需要一个APPkey 。这里我找了一个APPkey为;

                                                             56e8cdc267e58ea977000286

                                  配置成功之后,刷新一下项目,会自动生成一个清单文件,jar包等,如果没有添加jar包,要手动添加。

                                     在自动生成的配置信息中还要,加一下权限,下面我只做了QQ和微信的第三方登陆。

                                    

                                                                        <!-- 配置QQ及QQ空间 -->

        <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="tencent你的QQ互联APPID" />

            </intent-filter>

        </activity>

        <activity

            android:name="com.tencent.connect.common.AssistActivity"

            android:screenOrientation="portrait" >

        </activity>

 <!-- 配置微信 -->

        <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="com.example.ym.wxapi.WXEntryActivity"

            android:configChanges="keyboardHidden|orientation|screenSize"

            android:exported="true"

            android:screenOrientation="portrait"

            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

下面是代码部分

                   在要实现第三方登录的Activity中

                             添加QQ和QQ空间的支持权限

                                                                                                mController = UMServiceFactory.getUMSocialService("com.umeng.login");

                                                                                               String appId = "100424468";

                                                                                               String appKey = "c7394704798a158208a74ab60104f0bas";

                                                                                             // 添加QQ支持, 并且设置QQ分享内容的target url

                                                                                              UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(MainActivity.this,

                                                                                             appId, appKey);

                                                                                             qqSsoHandler.setTargetUrl("http://www.umeng.com");

                                                                                              qqSsoHandler.addToSocialSDK();

                                                                                              // 添加QZone平台

                                                                                                 QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler(

                                                                                               MainActivity.this, appId, appKey);

                                                                                            qZoneSsoHandler.addToSocialSDK();

                       添加支持微信的配置权限;

                                                                                                UMWXHandler wxHandler = new UMWXHandler(MainActivity.this, appId,

                                                                                                appKey);

                                                                                                 wxHandler.addToSocialSDK();

然后在实现监听登陆方法中;

                                                                               

    private void login(SHARE_MEDIA qq) {

        mController.doOauthVerify(MainActivity.this, qq, new UMAuthListener() {

            @Override

            public void onStart(SHARE_MEDIA platform) {

                Toast.makeText(MainActivity.this, "开始授权", Toast.LENGTH_SHORT)

                        .show();

            }

            @Override

            public void onError(SocializeException e, SHARE_MEDIA platform) {

            }

            @Override

            public void onComplete(Bundle value, SHARE_MEDIA platform) {

                String uid = value.getString("uid");

                // if (!TextUtils.isEmpty(uid)) {

                // getUserInfo(platform);

                // } else {

                // Toast.makeText(getActivity(), "授权失败...", Toast.LENGTH_SHORT)

                // .show();

                // }

            }

            @Override

            public void onCancel(SHARE_MEDIA platform) {

4000
                Toast.makeText(MainActivity.this, "取消授权", Toast.LENGTH_SHORT)

                        .show();

            }

        });

    }

  此方法为回调方法

    public boolean onCreateOptionsMenu(Menu menu) {

        MainActivity.this.getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }

 此方法中的参数:哪个方法调用了此方法,传入的参数就为SHARE_MEDIA.QQ 就是QQ登陆 SHARE_MEDIA.weixin 就是微信登陆

  还有,就是要做分享了,特别的简单的实现,调用openShare类都是集成好的

                                  mController.setShareContent("dadad");  设置分享的内容

        mController.setShareImage(new UMImage(MainActivity.this,设置分享的图片

                R.drawable.ic_launcher));

        mController.openShare(MainActivity.this, false);

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: