Android 中的 UIL 和 android.permission.WRITE_EXTERNAL_STORAGE – 棉花糖

UIL and android.permission.WRITE_EXTERNAL_STORAGE in Android – Marshmallow

在我的项目中添加UIL后,我还添加了权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

但是对于 targetSdkVersion="23"(棉花糖)的 android 项目,我需要 使用前检查一些 "dangerous" 权限(例如 WRITE_EXTERNAL_STORAGE )。

例如:

if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
                == PackageManager.PERMISSION_GRANTED) {
            Log.v(TAG,"Permission is granted");
            return true;
}

但是我该如何检查呢?不知道UIL用在什么地方

也许我误解了或遗漏了文档中的某些内容。 任何帮助将不胜感激。

But how can I check it?

在您尝试使用 UIL 中的任何内容之前,在您自己的 activity 或片段中使用该代码来检查权限。

除非您使用的库恰好有活动或片段,因此可能能够 requestPermissions() 本身,否则您必须 requestPermissions() 在使用该库之前,对于任何 dangerous 该库所需的权限。

正如您所注意到的,您不知道 UIL 在哪里使用这些权限,即使您知道今天的 UIL,您也可能不知道明天 UIL 在哪里使用它。因此,在使用 UIL 执行 任何事情 之前,您必须检查并在需要时请求权限。