gpt4 book ai didi

android - 如果用户未授予 WRITE_EXTERNAL_STORAGE 权限,则关闭应用程序

转载 作者:太空狗 更新时间:2023-10-29 16:29:58 30 4
gpt4 key购买 nike

在 android 6 或更高版本中,当用户第一次打开应用时询问他一些权限如果他不允许则退出应用程序

我的应用程序必须有一些权限是读取和写入外部存储,如何实现这一点

我试过了

if (Build.VERSION.SDK_INT >= 23) {
if (ContextCompat.checkSelfPermission(LoginActivity.this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(LoginActivity.this, android.Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(LoginActivity.this,
new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.READ_EXTERNAL_STORAGE},
1);
} else {
//do something
}
} else {
//do something
}

最佳答案

您需要读取结果onRequestPermissionsResult(),如果用户拒绝权限,调用context.finish()context.finishAffinity()。就像是...编辑:查看文档以了解如何处理权限:Android 6 Permissions

    @Override 
public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) {
switch (requestCode) {
case MAIN_PERMISSIONS:
if (grantResults.length > 0) {
// Validate the permissions result
if (permissionsOk) {
// All good
} else {
// Close your app
closeNow();
}
}
break;
}
}

private void closeNow() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
finishAffinity();
} else {
finish();
}
}

关于android - 如果用户未授予 WRITE_EXTERNAL_STORAGE 权限,则关闭应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41999564/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com