123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package com.edufound.reader.util.huaweiutil;
- import android.app.Activity;
- import com.huawei.hmf.tasks.OnFailureListener;
- import com.huawei.hmf.tasks.OnSuccessListener;
- import com.huawei.hmf.tasks.Task;
- import com.huawei.hms.common.ApiException;
- import com.huawei.hms.support.account.AccountAuthManager;
- import com.huawei.hms.support.account.request.AccountAuthParams;
- import com.huawei.hms.support.account.request.AccountAuthParamsHelper;
- import com.huawei.hms.support.account.result.AuthAccount;
- import com.huawei.hms.support.account.service.AccountAuthService;
- import com.orhanobut.logger.Logger;
- public class HuaWeiUtil {
- //login
- public static final int REQUEST_SIGN_IN_LOGIN = 1002;
- //login by code
- public static final int REQUEST_SIGN_IN_LOGIN_CODE = 1003;
- private static AccountAuthService mAuthManager;
- private static AccountAuthParams mAuthParam;
- /**
- * Codelab Code
- * Pull up the authorization interface by getSignInIntent
- */
- public static void signIn(Activity activity) {
- mAuthParam = new AccountAuthParamsHelper(AccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
- .setIdToken()
- .setAccessToken()
- .createParams();
- mAuthManager = AccountAuthManager.getService(activity, mAuthParam);
- activity.startActivityForResult(mAuthManager.getSignInIntent(), REQUEST_SIGN_IN_LOGIN);
- }
- public static void signInCode(Activity activity) {
- mAuthParam = new AccountAuthParamsHelper(AccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
- .setProfile()
- .setAuthorizationCode()
- .createParams();
- mAuthManager = AccountAuthManager.getService(activity, mAuthParam);
- activity.startActivityForResult(mAuthManager.getSignInIntent(), REQUEST_SIGN_IN_LOGIN_CODE);
- }
- /**
- * Codelab Code
- * sign Out by signOut
- */
- public static void signOut() {
- Task<Void> signOutTask = mAuthManager.signOut();
- signOutTask.addOnSuccessListener(new OnSuccessListener<Void>() {
- @Override
- public void onSuccess(Void aVoid) {
- Logger.e("华为 signOut Success");
- }
- }).addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(Exception e) {
- Logger.e("华为 signOut fail");
- }
- });
- }
- /**
- * Codelab Code
- * Silent SignIn by silentSignIn
- */
- public static void silentSignIn(Activity activity) {
- Task<AuthAccount> task = mAuthManager.silentSignIn();
- task.addOnSuccessListener(new OnSuccessListener<AuthAccount>() {
- @Override
- public void onSuccess(AuthAccount authAccount) {
- Logger.e("华为 silentSignIn Success");
- }
- });
- task.addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(Exception e) {
- //if Failed use getSignInIntent
- if (e instanceof ApiException) {
- ApiException apiException = (ApiException) e;
- signIn(activity);
- }
- }
- });
- }
- public static void cancelAuthorization(Activity activity) {
- mAuthParam = new AccountAuthParamsHelper(AccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
- .setProfile()
- .setAuthorizationCode()
- .createParams();
- mAuthManager = AccountAuthManager.getService(activity, mAuthParam);
- Task<Void> task = mAuthManager.cancelAuthorization();
- task.addOnSuccessListener(new OnSuccessListener<Void>() {
- @Override
- public void onSuccess(Void aVoid) {
- Logger.e("华为 cancelAuthorization Success");
- }
- });
- task.addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(Exception e) {
- Logger.e("华为 cancelAuthorization failure" + e.getClass().getSimpleName());
- }
- });
- }
- }
|