Explorar o código

B端 获取权限

ZhangXinYu %!s(int64=6) %!d(string=hai) anos
pai
achega
29ccab54ab

+ 2 - 0
app/src/main/AndroidManifest.xml

@@ -9,6 +9,8 @@
     <uses-permission android:name="android.permission.INTERNET" />
     <!--写入扩展存储,向扩展卡写入数据-->
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <!--用于读取手机当前的状态-->
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <!--获取相机权限 -->
     <uses-permission android:name="android.permission.CAMERA" />
 

+ 6 - 0
app/src/main/java/com/webrain/happywork/ui/mvp/contacts/LoginContacts.java

@@ -1,5 +1,7 @@
 package com.webrain.happywork.ui.mvp.contacts;
 
+import android.content.Context;
+
 import com.webrain.happywork.callback.MvpDataCallBack;
 import com.webrain.happywork.ui.base.IPresenter;
 import com.webrain.happywork.ui.base.IView;
@@ -19,11 +21,15 @@ public class LoginContacts {
         boolean isCode(String code, boolean isToast);
 
         void init();
+
+        void getAppAllPermissions();//获取APP所有需要的高危权限
     }
 
     public interface ILoginModel {
         void getHttpAuthCode(String phoneNum);
 
+        void getAppAllPermissions(Context mContext);
+
         void httpLogin(String phoneNum, String code, String clientId, MvpDataCallBack<Boolean> mvpDataCallBack);
     }
 }

+ 20 - 0
app/src/main/java/com/webrain/happywork/ui/mvp/model/LoginModel.java

@@ -1,9 +1,12 @@
 package com.webrain.happywork.ui.mvp.model;
 
 
+import android.Manifest;
 import android.content.Context;
+import android.support.v7.app.AppCompatActivity;
 
 import com.google.gson.Gson;
+import com.webrain.baselibrary.utils.PermissionsUtils;
 import com.webrain.baselibrary.utils.SharedPreferencesUtils;
 import com.webrain.happywork.AppCacheManager;
 import com.webrain.happywork.bean.AuthCodeBean;
@@ -16,6 +19,8 @@ import com.webrain.happywork.http.subscribe.UserSubscribe;
 import com.webrain.happywork.ui.base.BaseModel;
 import com.webrain.happywork.ui.mvp.contacts.LoginContacts;
 
+import io.reactivex.functions.Consumer;
+
 public class LoginModel extends BaseModel implements LoginContacts.ILoginModel {
     private boolean isRequest;
 
@@ -87,4 +92,19 @@ public class LoginModel extends BaseModel implements LoginContacts.ILoginModel {
 
         });
     }
+
+    /**
+     * 获取所有高危权限
+     *
+     * @param mContext
+     */
+    @Override
+    public void getAppAllPermissions(Context mContext) {
+        PermissionsUtils.requestPermissions((AppCompatActivity) mContext, new Consumer<Boolean>() {
+            @Override
+            public void accept(Boolean aBoolean) {
+
+            }
+        }, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE});
+    }
 }

+ 12 - 0
app/src/main/java/com/webrain/happywork/ui/mvp/presenter/LoginPresenter.java

@@ -110,6 +110,7 @@ public class LoginPresenter extends BasePresenter<LoginActivity> implements Logi
     @Override
     public void init() {
         if (isViewAttach()) {
+            getAppAllPermissions();
             mvpReference.get().onSpannableInit();
             if (AppCacheManager.getInstance().isLogin() && AppCacheManager.getInstance().getLoginModel().getRegisterFrom() == AppConstant.REGISTER_FROM_SERVICE) {
                 mvpReference.get().startActivity(new Intent(mvpReference.get(), MainActivity.class));
@@ -117,4 +118,15 @@ public class LoginPresenter extends BasePresenter<LoginActivity> implements Logi
             }
         }
     }
+
+
+    /**
+     * 获取所有高危权限
+     */
+    @Override
+    public void getAppAllPermissions() {
+        if (isViewAttach())
+            mLoginModel.getAppAllPermissions(mvpReference.get());
+    }
+
 }