问题标签 [android-11]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8641 浏览

android - AsyncTask 现在是否已弃用 AsyncTaskLoader?

既然AsyncTaskLoader一切都AsyncTask可以做,并且还具有内置的最佳实践功能,例如线程复制和过早死亡预防。

有理由再使用AsyncTask吗?还是我应该AsyncTaskLoader到处盲目使用

0 投票
1 回答
594 浏览

android - 如何在 Android R -- Android 11 中使用原始路径访问媒体文件

我们如何在 Android R - Android 11 中使用原始路径访问媒体文件

根据

https://developer.android.com/preview/privacy/storage#media-files-raw-paths

据说we can read a device's media files using direct file paths and native libraries

Mediacolumns DATA根据不推荐使用

https://developer.android.com/reference/android/provider/MediaStore.MediaColumns#DATA

0 投票
3 回答
28053 浏览

android - Android 11 (R) 文件路径访问

根据 docs 文件路径访问权限在 Android R 中被授予:

从 Android 11 开始,拥有 READ_EXTERNAL_STORAGE 权限的应用可以使用直接文件路径和原生库读取设备的媒体文件。这项新功能使您的应用程序可以更顺畅地与第三方媒体库一起工作。

问题是我无法从中获取文件路径MediaStore,那么我们应该如何读取我们无法访问/检索的文件路径?有没有办法,我不知道,我们可以从中获取文件路径MediaStore


此外,文档说以下内容

所有文件访问

一些应用程序的核心用例需要广泛的文件访问,例如文件管理或备份和恢复操作。他们可以通过执行以下操作获得所有文件访问权限:

  1. 声明 MANAGE_EXTERNAL_STORAGE 权限。
  2. 将用户引导至系统设置页面,他们可以在其中为您的应用启用允许访问管理所有文件选项。

此权限授予以下内容:

  • 对共享存储中的所有文件进行读取和写入访问。
  • 访问 MediaStore.Files 表的内容。

但我不需要所有文件访问权限,我只希望用户从中选择一个视频MediaStore并将文件路径传递给FFmpeg(它需要一个文件路径)。我知道我不能再使用该_data列来检索文件路径。


请注意:

  • 我知道 aUri从文件返回MediaStore并且不指向文件。
  • 我知道我可以将文件复制到我的应用程序目录并将其传递给FFmpeg,但我可以在 Android R 之前这样做。
  • 我不能通过FileDescriptorFFmpeg不能使用/proc/self/fd/(我/proc/7828/fd/70: Permission denied从 SD 卡中选择文件时得到),看看这个问题

那我该怎么办,我错过了什么吗?是什么意思can read a device's media files using direct file paths and native libraries

0 投票
1 回答
6841 浏览

android - 在 Android Studio 的 build.gradle 中设置的 Android R/11 的 API 级别是什么?

我可以通过 Android Studio Emulator 使用 API R。我知道我可以直接从 Android Studio 运行,但我仍然想在 Gradle 级别进行设置。

0 投票
1 回答
63 浏览

android - 如何让 Android 11 测试应用程序编译

尝试在 Android 11 (API 30) 中测试应用,但无法编译。

Error: Module 'app': platform 'android-30' not found

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
154 浏览

android - 为什么 minSdkVersion 太新了?

尝试测试与新 Bubbles api 相关的示例应用程序。

构建.gradle

这是我的虚拟设备。我正在运行Pixel 3 API R

在此处输入图像描述

这不应该足以在此设备上运行 API 30 应用程序吗?我不确定冲突是什么。谢谢。

0 投票
4 回答
25670 浏览

android - What does QUERY_ALL_PACKAGES permission do?

Android R Preview 1 introduced a new permission called QUERY_ALL_PACKAGES. The documentation for the permission says the following:

Allows query of any normal app on the device, regardless of manifest declarations.

Has anyone worked out what this actually does?

I've tried running the following on the emulator image, and the permission had no effect on either of them:

  • packageManager.queryIntentActivities(intent, 0)
  • packageManager.getInstalledPackages(0)
0 投票
2 回答
965 浏览

android - 何时撤销 Android R 的一次性权限?

一次性权限描述如下

在 Android 11 中,每当您的应用请求与位置、麦克风或摄像头相关的权限时,面向用户的权限对话框都会包含一个名为 Only this time 的选项,如图 1 所示。如果用户在对话框中选择此选项,您的应用程序被授予临时一次性权限。您的应用只有在满足以下条件之一的情况下才能访问相关数据:

  • 自从用户授予一次性权限后,您的应用程序的活动就一直可见。

  • 当用户授予权限并且从那时起一直在运行前台服务时,您的应用程序是可见的。只要前台服务继续运行,即使用户将您的应用程序移至后台,您的应用程序也将保留该权限。

如果两个条件都不成立,则无论目标 SDK 版本如何,都需要再次向用户请求权限。

所以,为了尝试这个新功能,我做了以下事情:

  • 我创建了一个使用相机的应用程序,没有前台服务。
  • 出现提示时,我授予该应用一次性相机权限。
  • 之后,我尝试按 Home 或打开另一个应用程序将我的应用程序发送到后台。

我认为这是应该撤销许可的时候,但事实并非如此。当我回到我的应用程序时,我仍然可以打开相机。

那么,究竟何时撤销一次性许可?非常感谢!

0 投票
0 回答
293 浏览

android - 附加到 Android MediaStore 中的文件

目前正在尝试编辑我存储在 Android 11 / Android R MediaStore API 的下载集合中的文件。我使用以下代码编辑文件:

在像这样创建它之后,ala 具有更短的初始内容:

运行第二个代码时,我没有收到完整的消息。相反,Android 似乎开始覆盖文件,但只写入与文件原始长度一样多的信息。

根据我对文档的阅读,我所能做的就是 a) 制作本地副本 b) 将其推送回 MediaStore。可以吗?有没有办法编辑已经位于文件系统中的文件?

0 投票
2 回答
5770 浏览

android - 应用程序的 minSdkVersion 比设备 API 级别(android-R)更新

我有一个 android 版本 10 的设备。

另外,我有一个 API 22 的模拟器

这是我的 build.gradle(:app) 文件的一部分:

它只是不适用于'android-R'

感谢你们对我的帮助 :)