您的位置:首页 > 其它

友盟第三方登录QQ

2016-06-24 12:30 337 查看
/**

 * 友盟第三方 登录 分享 登录网站http://dev.umeng.com/social/windows-phone/quick-share 下载SDK

 *

 * 1: 把SDK中的main中的(libs、res文件拷在工程的根部录下)

 *

 * 2:AndroidManifest配置 a)其中增加一个activity

 *

 * <activity android:name="com.umeng.socialize.editorpage.ShareActivity"

 * android:theme="@style/Theme.UMDefault" android:excludeFromRecents="true"/>

 *

 * 3:设置友盟appid <meta-data android:name="UMENG_APPKEY"

 * android:value="4eaee02c527015373b000003" > </meta-data>

 *

 * 4:增加权限 <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" />

 *

 *

 * 5: 针对不平台所需要添加的数据 按照自己需要的平台添加对应的配置

 *

 * // 微信平台

 *

 * <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" />

 *

 * // 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" />

 *

 * 6:. 初始化配置在Application中 手动建一个MyApplication类 继承Application 将以下数据复制到

 * MyApplication中     在AndroidManifest.xml进行配置 name:包名.类名

 *

 * PlatformConfig.setWeixin("wx967daebe835fbeac",

 * "5bb696d9ccd75a38c8a0bfe0675559b3"); //微信 appid appsecret

 * PlatformConfig.setSinaWeibo("3921700954","04b48b094faeb16683c32669824ebdad");

 * //新浪微博 appkey appsecret PlatformConfig.setQQZone("100424468",

 * "c7394704798a158208a74ab60104f0ba"); // QQ和Qzone appid appkey

 * PlatformConfig.setAlipay("2015111700822536"); //支付宝 appid

 * PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf"); //易信 appkey

 * PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi",

 * "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO"); //Twitter appid appkey

 * PlatformConfig.setPinterest("1439206"); //Pinterest appid

 * PlatformConfig.setLaiwang("laiwangd497e70d4",

 * "d497e70d4c3e4efeab1381476bac4c5e"); //来往 appid appkey

 *

 * 7:5.1 授权

 *

 * 首先获取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(); } };

 *

 *           8:注意要重写onActivityResult()

 * @Override protected void onActivityResult(int requestCode, int resultCode,

 *           Intent data) { super.onActivityResult(requestCode, resultCode,

 *           data); mShareAPI.onActivityResult(requestCode, resultCode, data); }
 * */

//活动

public class MainActivity_ extends Activity {

    private UMShareAPI umShareAPI;

    final SHARE_MEDIA[] displaylist = new SHARE_MEDIA[] { SHARE_MEDIA.WEIXIN,

            SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.SINA, SHARE_MEDIA.QQ,

            SHARE_MEDIA.QZONE };

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        Button button = (Button) findViewById(R.id.button);

        Button button_lpgin = (Button) findViewById(R.id.button1_login);

        final UMImage image = new UMImage(MainActivity_.this,

                BitmapFactory.decodeResource(getResources(),

                        R.drawable.ic_launcher));

        button.setOnClickListener(new OnClickListener() {

            @Override

            public void onClick(View v) {

                // TODO Auto-generated method stub

                new ShareAction(MainActivity_.this).setDisplayList(displaylist)

                        .withText("呵呵").withTitle("title")

                        .withTargetUrl("http://www.baidu.com").withMedia(image)

                        .setListenerList(new UMShareListener() {

                            @Override

                            public void onResult(SHARE_MEDIA platform) {

                                Toast.makeText(MainActivity_.this,

                                        platform + " 分享成功啦", Toast.LENGTH_SHORT)

                                        .show();

                            }

                            @Override

                            public void onError(SHARE_MEDIA platform,

                                    Throwable t) {

                                Toast.makeText(MainActivity_.this,

                                        platform + " 分享失败啦", Toast.LENGTH_SHORT)

                                        .show();

                            }

                            @Override

                            public void onCancel(SHARE_MEDIA platform) {

                                Toast.makeText(MainActivity_.this,

                                        platform + " 分享取消了", Toast.LENGTH_SHORT)

                                        .show();

                            }

                        }).open();

            }

        });

        // 第三方登录

        button_lpgin.setOnClickListener(new OnClickListener() {

            @Override

            public void onClick(View v) {

                // umShareAPI = UMShareAPI.get(MainActivity_.this);

                // // 使用哪个第三方平台登录

                // SHARE_MEDIA platform = SHARE_MEDIA.QQ;// 登录平台

                // // 匿名内部类的方式实现接口

                // umShareAPI.doOauthVerify(MainActivity_.this, platform,

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

                // }

                // });

                umShareAPI = UMShareAPI.get(MainActivity_.this);

                SHARE_MEDIA platform = SHARE_MEDIA.QQ;

                umShareAPI.doOauthVerify(MainActivity_.this, platform,

                        new UMAuthListener() {

                            @Override

                            public void onComplete(SHARE_MEDIA platform,

                                    int action, Map<String, String> data) {

                                umShareAPI.getPlatformInfo(MainActivity_.this,

                                        platform, new UMAuthListener() {

                                            @Override

                                            public void onError(

                                                    SHARE_MEDIA arg0, int arg1,

                                                    Throwable arg2) {

                                            }

                                            // 通过返回的数据得到用户信息

                                            @Override

                                            public void onComplete(

                                                    SHARE_MEDIA arg0, int arg1,

                                                    Map<String, String> map) {

                                                Set<String> keySet = map

                                                        .keySet();

                                                //测试  遍历set集合获取数据

                                                for (String set : keySet) {

                                                    System.out

                                                            .println("key------"

                                                                    + set);

                                                    System.out.println("value-----"

                                                            + map.get(set));

                                                }

                                            }

                                            @Override

                                            public void onCancel(

                                                    SHARE_MEDIA arg0, int arg1) {

                                                // TODO Auto-generated method

                                                // stub

                                            }

                                        });

                            }

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

                            }

                        });

            }

        });

    }

    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        super.onActivityResult(requestCode, resultCode, data);

        UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);

        umShareAPI.onActivityResult(requestCode, resultCode, data);

    }
}

----------------------------------------------------------------------------------------------------------------------

//创建的Myapplication类

package com.example;

import com.umeng.socialize.PlatformConfig;

import android.app.Application;

public class MyApplicatio extends Application {

    @Override

    public void onCreate() {

        // TODO Auto-generated method stub

        super.onCreate();

        PlatformConfig.setWeixin("wx967daebe835fbeac",

                "5bb696d9ccd75a38c8a0bfe0675559b3");

        // 微信 appid appsecret

        PlatformConfig.setSinaWeibo("3921700954",

                "04b48b094faeb16683c32669824ebdad");

        // 新浪微博 appkey appsecret

        PlatformConfig.setQQZone("100424468",

                "c7394704798a158208a74ab60104f0ba");

        // QQ和Qzone appid appkey

        PlatformConfig.setAlipay("2015111700822536");

        // 支付宝 appid

        PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf");

        // 易信 appkey

        PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi",

                "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO");

        // Twitter appid appkey

        PlatformConfig.setPinterest("1439206");

        // Pinterest appid

        PlatformConfig.setLaiwang("laiwangd497e70d4",

                "d497e70d4c3e4efeab1381476bac4c5e");

        // 来往 appid appkey}

    }

}

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