我的应用需要访问每个活动附近的用户存储空间。如何在不使应用程序在每个应用程序启动时询问使用新的Android M权限模型访问它的权限的情况下访问存储? (读写)
谢谢!
答案 0 :(得分:1)
如果您不想在每个应用启动时提示用户"给予内存访问权限以便能够执行任何操作",那么就不要这样做。如果requestPermissions()
返回checkSelfPermission()
,则只需致电PERMISSION_DENIED
。
@Override
public void onCreate(Bundle icicle) {
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)==
PackageManager.PERMISSION_GRANTED) {
init();
}
else {
requestPermissions(new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE },
REQUEST_STORAGE);
}
}
(显示了本机API Level 23方法;您可能希望使用ContextCompat and
ActivityCompat`来实现向后兼容性)
或者,如果用户在需要requestPermissions()
的用户界面中执行了一些积极的操作(例如,点击了操作栏项)并且您还没有获得该权限,则只能致电WRITE_EXTERNAL_STORAGE
。