我试图添加代码,以请求用户在运行时的权限读取_external_storage,我在过去的构建gradle文件中使用了dexter实现,并在我的www.example.com中添加了代码MainActivity.java,但这不再工作。有谁知道在android studio中,对于21到32之间的sdk,当前和最新的请求read_external_storage运行时权限的方法是什么?
我试图添加代码,以请求用户在运行时的权限读取_external_storage,我在过去的构建gradle文件中使用了dexter实现,并在我的www.example.com中添加了代码MainActivity.java,但这不再工作。有谁知道在android studio中,对于21到32之间的sdk,当前和最新的请求read_external_storage运行时权限的方法是什么?
6条答案
按热度按时间cpjpxq1n1#
您需要预先在android manifest文件中设置权限,使用
<uses-permission>
,如果您需要访问外部存储,可能使用<uses-feature>
。此外,Android已经迁移到Kotlin和Jetpack / Jetpack Compose。遗留代码将工作...但现在情况完全不同了特别是有权限的。你不再要求他们了。您可以在Android Manifest文件中宣布它们。此外,Android限制了允许写入外部存储的最大Android版本。所以Manifest文件需要调用一个工具:
htrmnn0y2#
正确的方法是
在清单文件中。有时候你需要,
也在清单文件中。
还有
在java文件中。
mtb9vblg3#
从这里
注意:从API级别33开始,此权限无效。如果您的应用访问其他应用的媒体文件,请改为请求以下一个或多个权限:READ_MEDIA_IMAGES、READ_MEDIA_VIDEO、READ_MEDIA_AUDIO。了解有关与媒体文件关联的存储权限的详细信息。
zzoitvuj4#
请使用此代码段包含外部存储权限
这将是安全的,当涉及到新的Android API。
pokxtpni5#
要向用户请求
READ_EXTERNAL_STORAGE
权限,首先需要在清单文件中添加权限,如下所示:然后在
Activity.java
文件中,需要添加以下代码:您还需要添加以下导入:
ht4b089n6#
步骤1:添加android manifest.xml的权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
步骤2:检查权限,必要时向用户请求权限:
}
步骤3:回调