Android 申请 WRITE_EXTERNAL_STORAGE 权限失败:无法保存手势库
这意味着您的应用程序没有被授予在外部存储器中写入数据的权限,因此无法保存手势库。您需要在应用程序的清单文件中声明此权限,并在运行时请求用户授权。以下是如何在应用程序中请求 WRITE_EXTERNAL_STORAGE 权限的示例:
- 在清单文件中添加以下权限声明:
- 在您的活动或片段中,请求 WRITE_EXTERNAL_STORAGE 权限:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
// Permission is not granted, request for permission
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE);
} else {
// Permission has already been granted
saveGestureLibrary();
}
- 处理权限请求的结果:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
if (requestCode == MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE) {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Permission has been granted
saveGestureLibrary();
} else {
// Permission has been denied
Toast.makeText(this, 'Permission denied', Toast.LENGTH_SHORT).show();
}
}
}
请注意,您应该在用户需要访问外部存储器的时候才请求 WRITE_EXTERNAL_STORAGE 权限。如果您没有明确的原因请求此权限,您的应用程序可能被用户视为不安全或侵犯隐私。
原文地址: https://www.cveoy.top/t/topic/od40 著作权归作者所有。请勿转载和采集!