zoukankan      html  css  js  c++  java
  • 使用Sharesdk实现第三方平台登录(qq,新浪微博)

    首先到sharesdk开放píng台下载demo ,以下要用到的文件来自于 simple里面 
    第一步:导入官方的jar包   

    第二步:添加ShareSDK.xml文件并修改相关píng台key 

    第三步:AndroidManifest.xml文件中添加  
     <activity
                android:name="cn.sharesdk.framework.ShareSDKUIShell"
                android:configChanges="keyboardHidden|orientation|screenSize"
                android:theme="@android:style/Theme.Translucent.NoTitleBar"
                android:windowSoftInputMode="stateHidden|adjustResize" > 
                <!--
                AuthorizeAdapter表示一个继承自cn.sharesdk.framework.authorize.AuthorizeAdapter
                的类,这个类可以监听到页面的生命周期,也可以获取授权页面的各种UI控件。 
                开发者可以通过继承AuthorizeAdapter,重写其方法,并获取各种UI来自定义这个页面的行为。
                -->
                <meta-data
                    android:name="AuthorizeAdapter"
                    android:value="cn.sharesdk.demo.MyAdapter" /> 
                <!--
                QZoneWebShareAdapter表示一个继承自cn.sharesdk.tencent.qzone.QZoneWebShareAdapter
                的类,这个类可以监听到页面的生命周期,也可以获QQ空间网页分享权页面的各种UI控件。 
                开发者可以通过继承QZoneWebShareAdapter,重写其方法,并获取各种UI来自定义这个页面的行为。
                -->
                <meta-data
                    android:name="QZoneWebShareAdapter"
                    android:value="cn.sharesdk.demo.MyQZoneWebShareAdapter" /> 
                <!--
                Dropbox的SSO功能需要在此chǔ添加一个对ACTION_VIEW事件的过滤器,其中的scheme是
                “db-”前缀再开发者应用的加上appKey。如果此过滤器不设置,则不能完成SSO功能授权
                -->
                <intent-filter>
                    <data android:scheme="db-7janx53ilz11gbs" /> 
                    <action android:name="android.intent.action.VIEW" /> 
                    <category android:name="android.intent.category.BROWSABLE" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity> 
    第四步:【qq不需要】如果是新浪píng台则需添加一些图片和文字 
     
    第五步:activity中调用 
    oncreate中初始化:ShareSDK.initSDK(this); 
    qq点击事件:Platform plat_qq = ShareSDK.getPlatform(LoginActivity.this,
    QZone.NAME);
    plat_qq.setPlatformActionListener(new PlatformActionListener() { 
    @Override
    public void onError(Platform plat, int action, Throwable arg2) {
    System.out.println("action" + action);
    Message msg = new Message();
    msg.what = 1;
    msg.obj = plat;
    handler.sendMessage(msg); 

    @Override
    public void onComplete(Platform arg0, int action,
    HashMap<String, Object> res) {
    System.out.println("action" + action);
    System.out.println(res);
    // result(res);// chǔ理结果
    Message msg = new Message();
    msg.what = 0;
    msg.obj = res;
    handler.sendMessage(msg); 

    @Override
    public void onCancel(Platform plat, int action) {
    Message msg = new Message();
    msg.what = 2;
    msg.obj = plat;
    handler.sendMessage(msg); 
    }
    });
    plat_qq.showUser(null); 
    新浪点击事件: 
    Platform plat_sina = ShareSDK.getPlatform(LoginActivity.this,
    SinaWeibo.NAME);
    plat_sina.setPlatformActionListener(new PlatformActionListener() { 
    @Override
    public void onError(Platform plat, int action, Throwable arg2) {
    System.out.println("action" + action);
    Message msg = new Message();
    msg.arg1 = 2;
    msg.arg2 = action;
    msg.obj = plat;
    handler.sendMessage(msg); 

    @Override
    public void onComplete(Platform arg0, int arg1,
    HashMap<String, Object> arg2) {
    System.out.println(arg2);
    result_sian(arg2); 

    @Override
    public void onCancel(Platform plat, int action) {
    Message msg = new Message();
    msg.arg1 = 3;
    msg.arg2 = action;
    msg.obj = plat;
    handler.sendMessage(msg); 
    }
    });
    plat_sina.showUser(null); 
    剩下的回调chǔ理自己写吧。 
    大笑
    这样
    就可以获取到用户信息了 
    《转载》 

  • 相关阅读:
    C语言笔记
    js学习笔记
    Javascript学习笔记
    Java基础知识
    使用 StackExchange.Redis 封装属于自己的 RedisHelper
    StackExchange.Redis 使用资料
    .NET平台下Redis使用(三)【ServiceStack.Redis学习】
    .NET平台下Redis使用(二)【StackExchange.Redis学习】
    Redis 详解 (一) StackExchange.Redis Client
    .NET中使用Redis
  • 原文地址:https://www.cnblogs.com/manmanlu/p/3792158.html
Copyright © 2011-2022 走看看