当前位置: 首页 > 知识库问答 >
问题:

通过使用目标SDK 29在Android 10上启用遗留的外部存储,到底是什么选择了退出范围存储

袁恩
2023-03-14

在针对SDK29的同时,有一个optput作用域存储的选项。通过在清单文件中添加Android:RequestLegacyExternalStorage=“true”来启用遗留存储。我的应用程序的现有功能不能在Android 10上工作。

    null
DownloadManager.Request  request=new DownloadManager.Request(Download_Uri);
request.setDestinationInExternalPublicDir("/mappfolder/subdirectory", filename);
<application
        android:requestLegacyExternalStorage="true"
        android:name=".base.module.view.MyApplication"
        android:allowBackup="false"
        android:icon="@drawable/im_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:networkSecurityConfig="@xml/network_security_config"
        android:supportsRtl="false"
        android:theme="@style/myThemeNOActionBar"
        tools:replace="android:supportsRtl"
        >

共有1个答案

沙柏
2023-03-14

通过启用遗留存储,可以使用遗留文件系统API创建应用程序特定的目录到公共目录中,并访问公共存储以读/写文件。

但是使用DownloadManger,不能创建app特定目录到公共存储中。

 类似资料:
  • 若要禁用作用域存储并使用旧式存储模型,请取消设置这两个标志。 如何解开旗子?还有别的建议吗?

  • 问题内容: 我正在处理一个查询(一个SELECT),我需要将此查询的结果插入表中。在进行插入之前,我需要做一些检查,如果所有列都有效,我将进行插入。 该检查是在存储过程中完成的。在其他地方也使用相同的过程。因此,我正在考虑使用相同的过程进行检查。 程序进行检查并插入值都可以。 我试图在SELECT内调用该过程,但是它不起作用。 这种代码不起作用。 我认为可以使用游标完成此操作,但我想避免使用游标。

  • 问题内容: 当我在node.js模块中执行此操作时: 去哪儿了?我的意思是:在浏览器中(如果未在函数中执行或以其他方式执行) 如果我执行此操作: 然后可以在中找到它,但这不是我想要的。 问题答案: 与浏览器不同,浏览器默认情况下将变量分配给全局空间(即窗口),而在Node中, 除非您 将变量 明确 分配给module.exports, 否则 变量的作用域为模块(文件)。 实际上,当您运行或文件中的

  • 本文向大家介绍什么是存储过程?用什么来调用?相关面试题,主要包含被问及什么是存储过程?用什么来调用?时的应答技巧和注意事项,需要的朋友参考一下 答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。

  • 这个问题涉及这里描述的Azure表存储中的性能目标阈值。特别是,我关心的是每个分区2K个实体,每秒20K个实体的阈值。我的理解是,如果你越过这些阈值,Azure可能会开始返回500和503个错误。 我想我可能遇到了这个问题,我正在寻找关于这些项目到底是如何计算的澄清。我知道,如果您对整个表或一个分区执行扫描,那么您可能会为Azure扫描的每个实体“收费”,而不管您返回的数字是多少。由于您可以在一个

  • 问题内容: 任何人都可以用C,C ++和Java清楚地解释一下。什么都在堆栈上,什么都在堆上以及何时分配。 我所知道的, 每个函数调用的所有局部变量(无论是基元,指针还是引用变量)都在新的堆栈框架上。 使用new或malloc创建的所有内容都会进入堆。 我对几件事感到困惑。 是在堆上创建的对象成员的引用/基元是否也存储在堆上? 以及在每个框架中递归创建的方法的那些本地成员呢?它们都在堆栈上吗?如果