AndroidScopedStorage权限允许下载文件夹中下载PDF文件
创始人
2024-10-10 01:00:18
0

Android Q(API级别29)引入了Scoped Storage,这是一种新的外部存储空间沙箱模型。在此模型中,应用程序被限制在私有应用数据目录和共享媒体存储目录之间。应用程序不再能够自由地访问和修改与应用程序无关的外部存储文件。如果您想下载PDF文件并保存到设备上,您可能会遇到权限问题。

为了处理这个问题,您可以使用以下代码来请求存储和下载权限,并保存下载的PDF文件:

首先,您需要在AndroidManifest.xml文件中添加以下权限声明:

然后您可以通过这个方法来请求存储和下载权限:

private fun requestPermission() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { val hasWritePermission = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) val hasReadPermission = checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)

    val permissions = ArrayList()

    if (hasWritePermission != PackageManager.PERMISSION_GRANTED) {
        permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE)
    }

    if (hasReadPermission != PackageManager.PERMISSION_GRANTED) {
        permissions.add(Manifest.permission.READ_EXTERNAL_STORAGE)
    }

    if (permissions.isNotEmpty()) {
        requestPermissions(permissions.toTypedArray(), PERMISSION_REQUEST_CODE)
    }
}

}

然后使用以下代码的方法来下载PDF文件:

val downloadManager = getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager val uri = Uri.parse("Your_pdf_file_url") val request = DownloadManager.Request(uri) request.setTitle("PDF File") request.setDescription("Downloading PDF...") request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED) request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "sample.pdf") downloadManager.enqueue(request)

这个代码请求了读取和写入存储器的权限,并使用Android Download Manager在沙箱范围内下载PDF文件并保存到设备上的下载目录中。

相关内容

热门资讯

黑科技工具(wpk德州ai机器... 黑科技工具(wpk德州ai机器人)外挂透明挂辅助AI(透视)其实有挂(有挂攻略)-哔哩哔哩暗藏猫腻,...
黑科技软件(aapker代理)... 黑科技软件(aapker代理)外挂透明挂辅助挂(智能ai)好像有挂(确实有挂)-哔哩哔哩1、下载好a...
黑科技安卓版(WPK内置)外挂... 黑科技安卓版(WPK内置)外挂透明挂辅助代打(软件透明挂)一直是真的有挂(讲解有挂)-哔哩哔哩1、W...
黑科技黑科技(约局互娱)外挂透... 黑科技黑科技(约局互娱)外挂透明挂辅助插件(ai代打)其实有挂(今日头条)-哔哩哔哩1、起透看视 约...
黑科技玄学(wpk神器)外挂透... 黑科技玄学(wpk神器)外挂透明挂辅助挂(软件透明挂)一贯是有挂(有挂规律)-哔哩哔哩;1)wpk神...
黑科技ai(Wepoke教程)... 黑科技ai(Wepoke教程)外挂透明挂辅助黑科技(ai代打)都是是真的有挂(有挂分析)-哔哩哔哩1...
黑科技黑科技(aapoker德... 黑科技黑科技(aapoker德州线上)外挂透明挂辅助代打(黑科技ai)本来真的是有挂(发现有挂)-哔...
黑科技最新(Wepoke开挂)... 黑科技最新(Wepoke开挂)外挂透明挂辅助ai代打(黑科技ai)原来真的有挂(有挂方式)-哔哩哔哩...
黑科技教学(aapoker软件... 黑科技教学(aapoker软件)外挂透明挂辅助挂(黑科技ai)果然是真的有挂(有挂透视)-哔哩哔哩;...
黑科技系统(wepokeai)... 黑科技系统(wepokeai)外挂透明挂辅助插件(透明挂黑科技)好像是有挂(有挂猫腻)-哔哩哔哩1、...