检查是否有运行时权限缺失,如果有,则请求运行时权限。
如果是在Android 6上启动Activity失败,可以尝试以下处理:
(1)检查是否在AndroidManifest.xml中已经申请了对应的权限。
(2)检查是否已经在AndroidManifest.xml中声明了对应的Activity。
(3)将启动Activity的代码放入try-catch块,并处理捕获到的异常。
如果是在Android 7上运行效果不佳,可以尝试以下处理:
(1)检查是否使用了不推荐的API,如果是,请使用新版API。
(2)检查是否使用了针对Android 6运行时权限的新特性,如果是,请在Android 7上测试并适配。
(3)根据具体的问题,可能需要进一步修改代码,适配Android 7的新特性。
代码示例:
(1)请求运行时权限:
private void requestPermission() {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
}
}
(2)启动Activity的代码:
try {
Intent intent = new Intent(MainActivity.this, OtherActivity.class);
startActivity(intent);
} catch (ActivityNotFoundException e) {
e.printStackTrace();
Toast.makeText(this, "Activity not found.", Toast.LENGTH_SHORT).show();
}
注:以上代码示例仅供参考,具体实现可以根据自己的需求进行修改。