所以我有此代码供用户授予读取权限。目前,我在oncreate中调用它,它可以按预期工作,在应用启动时要求用户提供许可,然后继续进行。
但是,如果不是稍后询问oncreate,而是稍后询问,它就会退出应用程序以征求许可,并且不会优雅地返回到应用程序,而是将我留在主屏幕上。有人知道为什么吗?我宁愿只在用户真正需要它时才请求用户的许可,而不是启动,但是如果那意味着将它们转回到主屏幕上,我可能不需要。
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
// Should we show an explanation?
if (shouldShowRequestPermissionRationale(
Manifest.permission.READ_EXTERNAL_STORAGE)) {
// Explain to the user why we need to read the contacts
}
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
}
}