【问题标题】:Android M, not ask every start for storage permissionAndroid M,不是每次启动都要求存储权限
【发布时间】:2015-09-27 10:59:04
【问题描述】:

我的应用需要在每次活动附近访问用户的存储空间。如何在不让应用在每次应用启动时询问使用新的 Android M 权限模型访问它的权限的情况下访问存储? (读写)

谢谢!

【问题讨论】:

  • 您只需要询问您是否还没有权限。您的具体问题是什么?
  • 每次应用启动时都会提示用户授予内存访问权限以执行任何操作

标签: android permissions storage android-6.0-marshmallow


【解决方案1】:

如果您不想提示用户“在每次应用启动时授予内存访问权限以执行任何操作”,请不要这样做。仅当checkSelfPermission() 返回PERMISSION_DENIED 时才调用requestPermissions()

@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 级别 23 方法;您可能希望使用 ContextCompat andActivityCompat` 以实现向后兼容性)

或者,仅当用户在 UI 中执行需要WRITE_EXTERNAL_STORAGE 的积极操作(例如,单击操作栏项)并且您还没有权限时,才调用requestPermissions()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-22
    • 2015-10-08
    • 2014-11-05
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    相关资源
    最近更新 更多