android使用友盟整合第三方登入
阿新 • • 發佈:2019-01-29
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; importcom.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; importjava.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>