Commit 5e5a431c authored by feihuaduo's avatar feihuaduo

权限申请安卓m判断

MainActivity权限申请回调
parent 0dfedb48
......@@ -250,11 +250,25 @@ public class BaseActivity extends AppCompatActivity {
setActionBarTitle(getString(rid));
}
/**
*权限申请
* @return 是否满足权限申请条件
*/
protected boolean startPermissionsActivity() {
String[] PERMISSIONS = getPermissions();
if (PERMISSIONS == null || PERMISSIONS.length == 0)
return startPermissionsActivity(getPermissions());
}
/**
* 权限申请
* @param permissions 要申请的权限列表
* @return 是否满足权限申请条件
*/
protected boolean startPermissionsActivity(String[] permissions) {
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M)
return false;
if (permissions == null || permissions.length == 0)
return false;
return PermissionsActivity.startActivityForResult(this, REQUEST_PERMISSIONS, PERMISSIONS);
return PermissionsActivity.startActivityForResult(this, REQUEST_PERMISSIONS, permissions);
}
@Override
......@@ -282,6 +296,10 @@ public class BaseActivity extends AppCompatActivity {
}
}
/**
* 权限申请回调
* @param isOk 权限申请是否成功
*/
protected void onPermission(boolean isOk) {
if (isOk) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && !getContext().getPackageManager().canRequestPackageInstalls()) {
......
......@@ -159,16 +159,7 @@ public class MainActivity extends HomeActivity {
});
dlgpls.setRightButtonText(R.string.deck_restore);
dlgpls.setRightButtonListener((dlg, i) -> {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M || !startPermissionsActivity()) {
onActivityResult(REQUEST_PERMISSIONS, PermissionsActivity.PERMISSIONS_GRANTED, null);
}
try {
FileUtils.copyDir(ORI_DECK, AppsSettings.get().getDeckDir(), false);
} catch (Throwable e) {
Toast.makeText(MainActivity.this, e + "", Toast.LENGTH_SHORT).show();
}
Toast.makeText(MainActivity.this, R.string.done, Toast.LENGTH_SHORT).show();
startPermissionsActivity();
dlgpls.dismiss();
});
dlgpls.show();
......@@ -187,6 +178,19 @@ public class MainActivity extends HomeActivity {
});
}
@Override
protected void onPermission(boolean isOk) {
super.onPermission(isOk);
if (isOk){
try {
FileUtils.copyDir(ORI_DECK, AppsSettings.get().getDeckDir(), false);
} catch (Throwable e) {
Toast.makeText(MainActivity.this, e + "", Toast.LENGTH_SHORT).show();
}
Toast.makeText(MainActivity.this, R.string.done, Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onResume() {
super.onResume();
......
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