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