专家,
我在运行SQLiteDatabase.openOrCreateDatabase时遇到此错误,在API 23上 ,ob API 21正常。
根据上面的上一个问题链接, AB1209 的答案指出应该授予运行时权限。但是,这是API 23的新功能。
我想在API 21和23上使用该应用程序。我有2个问题:
是不是存在逻辑问题?我已经在清单中授予了权限,在运行时更多时间执行此操作的理由是什么? (我的理解是,只有在安装期间没有在舱单中授予时才需要运行时权限)
如果我在运行时授予权限,它会影响在API 21上运行时的使用情况吗? (我仍然可以在API 21上使用APP?)
感谢。
我已获得以下许可:
android.permission.WRITE_EXTERNAL_STORAGE"
答案 0 :(得分:0)
将此信息放入您的活动中:
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
你的代码在这里:
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(grantResults[0]== PackageManager.PERMISSION_GRANTED){
//resume tasks needing this permission
}
}