Android集成第三方登錄

1,導入依賴包在這裏插入圖片描述
2,
在這裏插入圖片描述
3,清單文件



        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<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:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:configChanges="orientation|keyboardHidden|screenSize"/>
<meta-data android:value="5c810e4961f5648cb5000ebf" android:name="UMENG_APPKEY"/>
<meta-data android:value="Umeng" android:name="UMENG_CHANNEL"/>

4,繼承application 初始化

  public class app extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
    
             //                                  你的appkey
            UMConfigure.init(this,"5c810e4961f5648cb5000ebf","umeng",UMConfigure.DEVICE_TYPE_PHONE,"");
    
            PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
  
    }
    }

5,

public class MainActivity extends AppCompatActivity {

    private UMAuthListener authListener;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button viewById = findViewById(R.id.lalaal);
        viewById.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                UMShareAPI mShareAPI=UMShareAPI.get(MainActivity.this);
                mShareAPI.getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, authListener);
            }

        });
        /**
         * @desc 授權開始的回調
         * @param platform 平臺名稱
         */ /**
          * @desc 授權成功的回調
          * @param platform 平臺名稱
          * @param action 行爲序號,開發者用不上
          * @param data 用戶資料返回
          */ /**
           * @desc 授權失敗的回調
           * @param platform 平臺名稱
           * @param action 行爲序號,開發者用不上
           * @param t 錯誤原因
           */ /**
            * @desc 授權取消的回調
            * @param platform 平臺名稱
            * @param action 行爲序號,開發者用不上
            */authListener = new UMAuthListener() {
                /**
                 * @desc 授權開始的回調
                 * @param platform 平臺名稱
                 */
                @Override
                public void onStart(SHARE_MEDIA platform) {

                }

                /**
                 * @desc 授權成功的回調
                 * @param platform 平臺名稱
                 * @param action 行爲序號,開發者用不上
                 * @param data 用戶資料返回
                 */
                @Override
                public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {

                    Toast.makeText(MainActivity.this, "成功了", Toast.LENGTH_LONG).show();

                }

                /**
                 * @desc 授權失敗的回調
                 * @param platform 平臺名稱
                 * @param action 行爲序號,開發者用不上
                 * @param t 錯誤原因
                 */
                @Override
                public void onError(SHARE_MEDIA platform, int action, Throwable t) {

                    Toast.makeText(MainActivity.this, "失敗:" + t.getMessage(),                                     Toast.LENGTH_LONG).show();
                }

                /**
                 * @desc 授權取消的回調
                 * @param platform 平臺名稱
                 * @param action 行爲序號,開發者用不上
                 */
                @Override
                public void onCancel(SHARE_MEDIA platform, int action) {
                    Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_LONG).show();
                }
            };
        if(Build.VERSION.SDK_INT>=23){
            String[] mPermissionList = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.CALL_PHONE,Manifest.permission.READ_LOGS,Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.SET_DEBUG_APP,Manifest.permission.SYSTEM_ALERT_WINDOW,Manifest.permission.GET_ACCOUNTS,Manifest.permission.WRITE_APN_SETTINGS};
            ActivityCompat.requestPermissions(this,mPermissionList,123);
        }
    }
    @Override
    public void onRequestPermissionsResult(int requestCode,
                                           String permissions[], int[] grantResults) {

    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章