From 8ee04ba82a1455ac08bb2e6a729bdc7ebbe6c4da Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期一, 09 九月 2019 18:52:40 +0800
Subject: [PATCH] 加入权限管理类;加入日志写入SD文件

---
 app/src/main/java/safeluck/drive/evaluation/MainActivity.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 4 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index f977e6f..a8d8d37 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -1,23 +1,31 @@
 package safeluck.drive.evaluation;
 
 
+import android.Manifest;
+import android.app.AlertDialog;
 import android.arch.lifecycle.Observer;
-import android.arch.lifecycle.ViewModelProvider;
 import android.arch.lifecycle.ViewModelProviders;
+import android.content.DialogInterface;
 import android.os.Bundle;
+import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
-import android.util.Log;
 import android.widget.Toast;
 
 
 
 import me.yokeyword.fragmentation.SupportActivity;
 import safeluck.drive.evaluation.fragment.HomeFragment;
+import safeluck.drive.evaluation.util.MyLog;
+import safeluck.drive.evaluation.util.PermissionManager;
 import safeluck.drive.evaluation.viewmodels.MainViewModel;
 
 public class MainActivity extends SupportActivity {
 
+    private static final int PERMISSIONS_REQUEST_CODE = 1001;
     private String TAG = MainActivity.class.getCanonicalName();
+
+    private PermissionManager mPermissionsManager ;
+    String[] PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA};
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -26,13 +34,43 @@
 
         setContentView(R.layout.activity_main);
 
+        mPermissionsManager = new PermissionManager(this) {
+            @Override
+            public void authorized(int requestCode) {
+
+            }
+
+            @Override
+            public void noAuthorization(int requestCode, String[] lackPermissions) {
+                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
+                builder.setTitle("鎻愮ず");
+                builder.setMessage("缂哄皯"+lackPermissions+"鏉冮檺");
+                builder.setPositiveButton("璁剧疆鏉冮檺", new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        PermissionManager.startAppSettings(getApplicationContext());
+                    }
+                });
+                builder.create().show();
+            }
+
+            @Override
+            public void ignore() {
+
+            }
+        };
+
+
+
+
+
         MainViewModel mainViewModel = ViewModelProviders.of(this).get(MainViewModel.class);
         mainViewModel.getJson().observe(this, new Observer<String>() {
             @Override
             public void onChanged(@Nullable String json) {
                 Toast.makeText(MainActivity.this, json, Toast.LENGTH_SHORT).show();
-                Log.i(TAG,"json=========="+json);
-                Log.i(TAG,"json=========="+Thread.currentThread().getName());
+                MyLog.i(TAG,"json=========="+json);
+                MyLog.i(TAG,"json=========="+Thread.currentThread().getName());
             }
         });
 
@@ -42,4 +80,17 @@
             loadRootFragment(R.id.fl_container,HomeFragment.newInstance());
         }
     }
+
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        mPermissionsManager.checkPermissions(PERMISSIONS_REQUEST_CODE,PERMISSIONS);
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        mPermissionsManager.recheckPermissions(PERMISSIONS_REQUEST_CODE,permissions,grantResults);
+    }
 }

--
Gitblit v1.8.0