1. 程式人生 > >android使用友盟整合第三方登入

android使用友盟整合第三方登入

package com.example.administrator.d0519;

import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import 
com.example.administrator.d0519.bean.Result; import com.example.administrator.d0519.util.NetUtil; import com.google.gson.Gson; import com.umeng.socialize.UMAuthListener; import com.umeng.socialize.UMShareAPI; import com.umeng.socialize.UMShareConfig; import com.umeng.socialize.bean.SHARE_MEDIA; import
java.util.Map; public class MainActivity extends AppCompatActivity { private Button main_reg; private EditText main_phone; private EditText main_password; private Button main_login; private String phone; private String pwd; private String url = "https://www.zhaoapi.cn/user/login?mobile="
+ phone + "&password=" + pwd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); main_reg = findViewById(R.id.main_reg); main_phone = findViewById(R.id.main_phone); main_password = findViewById(R.id.main_password); main_login = findViewById(R.id.main_login); main_reg.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, RegActivity.class); startActivity(intent); } }); main_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { phone = main_phone.getText().toString(); pwd = main_password.getText().toString(); url = "https://www.zhaoapi.cn/user/login?mobile=" + phone + "&password=" + pwd; new MAsyncTask().execute(url); } }); main_login.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { // Toast.makeText(MainActivity.this,"長按了按鈕",Toast.LENGTH_SHORT).show(); //回撥介面 UMAuthListener umAuthListener = 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(); // String name = data.get("name"); // String iconurl = data.get("iconurl"); // String gender = data.get("gender"); // Toast.makeText(MainActivity.this, name+iconurl, Toast.LENGTH_LONG).show(); // Log.d("iconurl",iconurl); // Toast.makeText(MainActivity.this, name+" 性別:"+gender, 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(); } }; UMShareConfig config = new UMShareConfig(); config.isNeedAuthOnGetUserInfo(true); UMShareAPI.get(MainActivity.this).setShareConfig(config); UMShareAPI.get(MainActivity.this).getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, umAuthListener); return false; } }); } private class MAsyncTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... strings) { return NetUtil.getJson(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Result result = gson.fromJson(s, Result.class); String code = result.getCode(); if (code.equals("0")) { Toast.makeText(MainActivity.this, "登入成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, result.getMsg(), 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); } }
package com.example.administrator.d0519;

import android.app.Application;
import android.os.Environment;

import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.umeng.commonsdk.UMConfigure;
import com.umeng.socialize.PlatformConfig;

import java.io.File;

/**
 * author:Created by YangYong on 2018/5/19 0019.
 */
public class MApp extends Application {

    private File files = new File(Environment.getExternalStorageDirectory().getPath() + "/image");
    {
        PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
    }
    @Override
public void onCreate() {
        super.onCreate();
        ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)
                .diskCache(new UnlimitedDiscCache(files))
                .build();
        ImageLoader.getInstance().init(configuration);


        UMConfigure.init(this, "5aff87aab27b0a06c400033d", "umeng", UMConfigure.DEVICE_TYPE_PHONE, "");
    }
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.administrator.d0519">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <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>
    <!-- 推薦的許可權 -->
    <!-- 新增如下許可權,以便使用更多的第三方SDK和更精準的統計資料 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

    <application
android:name=".MApp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".RegActivity"></activity>

        <meta-data
android:name="UMENG_APPKEY"
android:value="5aff87aab27b0a06c400033d" />
        <meta-data
android:name="UMENG_CHANNEL"
android:value="Channel ID" />

        <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:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    </application>

</manifest>