Commit 5e5a431c authored by feihuaduo's avatar feihuaduo

权限申请安卓m判断

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