Commit 14a69dae authored by feihuaduo's avatar feihuaduo

修复所有权限同意时无法进入软件的bug

parent 6c020133
......@@ -19,7 +19,10 @@ import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
import java.io.IOException;
import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.utils.FileLogUtil;
public class BaseActivity extends AppCompatActivity {
......@@ -56,7 +59,17 @@ public class BaseActivity extends AppCompatActivity {
@Override
protected void onResume() {
super.onResume();
try {
FileLogUtil.writeAndTime("开始显示");
} catch (IOException e) {
e.printStackTrace();
}
if (Build.VERSION.SDK_INT<Build.VERSION_CODES.M|| !startPermissionsActivity()){
try {
FileLogUtil.writeAndTime("不申请权限");
} catch (IOException e) {
e.printStackTrace();
}
onActivityResult(REQUEST_PERMISSIONS,PermissionsActivity.PERMISSIONS_GRANTED,null);
}
}
......@@ -197,8 +210,12 @@ public class BaseActivity extends AppCompatActivity {
String[] PERMISSIONS = getPermissions();
if (PERMISSIONS == null || PERMISSIONS.length == 0)
return false;
PermissionsActivity.startActivityForResult(this, REQUEST_PERMISSIONS, PERMISSIONS);
return true;
try {
FileLogUtil.writeAndTime("申请权限");
} catch (IOException e) {
e.printStackTrace();
}
return PermissionsActivity.startActivityForResult(this, REQUEST_PERMISSIONS, PERMISSIONS);
}
@Override
......@@ -213,6 +230,11 @@ public class BaseActivity extends AppCompatActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try {
FileLogUtil.writeAndTime("resultcode值"+resultCode);
} catch (IOException e) {
e.printStackTrace();
}
// 拒绝时, 关闭页面, 缺少主要权限, 无法运行
if (requestCode == REQUEST_PERMISSIONS && resultCode == PermissionsActivity.PERMISSIONS_DENIED) {
showToast("喵不给我权限让我怎么运行?!");
......
......@@ -42,14 +42,16 @@ public class PermissionsActivity extends AppCompatActivity {
private boolean isRequireCheck; // 是否需要系统权限检测
// 启动当前权限页面的公开接口
public static void startActivityForResult(Activity activity, int requestCode, String... permissions) {
if (permissions == null || permissions.length == 0) return;
public static boolean startActivityForResult(Activity activity, int requestCode, String... permissions) {
if (permissions == null || permissions.length == 0) return false;
PermissionsChecker checker = PermissionsChecker.getPermissionsChecker(activity);
if (checker.lacksPermissions(permissions)) {
Intent intent = new Intent(activity, PermissionsActivity.class);
intent.putExtra(EXTRA_PERMISSIONS, permissions);
ActivityCompat.startActivityForResult(activity, intent, requestCode, null);
return true;
}
return false;
}
@Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment