问题标签 [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.
android - 我的应用无法安装在 Android 11 上,但可以在旧版本中使用
我有一个问题,我昨晚刚刚将我的设备更新到 android 11,而我的应用程序似乎没有安装在 android 11 上。即使在尝试完成安装后也会恢复到安装按钮。知道我做错了什么吗?这是我的 build.gradle 的一个片段:
android - 如何使用 ACTION_OPEN_DOCUMENT_TREE 提示内容管理器选择器直接在可选位置打开
当您用于ACTION_OPEN_DOCUMENT_TREE
选择在 Android 11 中存储文件的路径的权限时,默认情况下默认的 Android 内容管理器会在最近使用的路径上打开,并且由于某种原因, “使用此文件夹”按钮甚至根本不会出现,即使此路径是可访问的路径,除非用户手动通过路径移动到合适的位置(或者如果这是可选位置,则返回默认打开的路径通过目录移动)。
例如,假设用户使用的最新路径是Documents。当我要求用户选择允许应用程序保存文件的路径时,使用
这是出现的:
如您所见,没有“使用此文件夹”蓝色按钮。
现在,如果用户从这里选择超级文件夹路径并在Documents中再次输入,这就是他所看到的:
现在“使用此文件夹”按钮可用。
这是完全没有意义的,而且对用户体验来说是可怕的,许多用户最终肯定会在卸载应用程序时感到烦恼和困惑。
难道我做错了什么?是否可以通过选择器打开时可用的“使用此文件夹”按钮向意图传递一些提示,以便ACTION_OPEN_DOCUMENT_TREE
直接在所有 Android 设备存储(例如Documents)中可用的特定路径中打开内容管理器视图?
android - 当应用程序进入后台时,Android 11(API 级别 30)onTaskRemoved 在前台服务中触发
我试图测试我在 android 11 上使用的应用程序(在 Pixel 3 XL 上得到它)。当应用程序进入后台时,我收到奇怪的行为:onTaskRemoved 在前台服务上触发,看起来应用程序被杀死并重新启动。
有关前台服务的信息:在清单中:
在 FS 类 onStartCommand -> 返回 START_STICKY;
附加信息:使用“相机”和“麦克风”的应用程序,我尝试将这两个添加到 android:foregroundServiceType="mediaProjection|camera|microphone" 但它没有帮助。
同样有趣的是 onTaskRemoved 仅在该应用程序第一次进入后台时触发,如果我返回应用程序并第二次单击“home” onTaskRemoved 未调用。
请帮助我理解它是从哪里来的。谢谢
PS:有关系吗?在 onTaskRemoved 之前,我可以在完整的 logcat 中看到:
android - Android 11 不会在外部存储上创建应用目录
最近我将我的智能手机更新到了 Android 11,我注意到我的一个应用程序在外部存储上创建目录时崩溃了。我已阅读 Android 11 文档,我们在这里Starting in Android 11, apps cannot create their own app-specific directory on external storage
。很奇怪,因为当我打开 Android/data 目录时,有很多应用程序文件夹,所以有可能这样做,或者可能有应用程序在更新之前创建的文件夹?
java - Mediastyle 通知在 android 11 中不起作用
我的音乐应用程序的自定义媒体样式通知不再适用于 Android 11。它在 Android 10 和以前的版本中运行良好。
是否需要添加任何其他代码才能在 Android 11 中运行。
我应该补充一点,去掉“ .setMediaSession(mediaSessionCompat.getSessionToken())) ”行会给我一个通知,但它不是带有完整背景颜色的奥利奥通知等。
这是我创建通知的代码:
android - Android 11-位置一次性权限,如何知道这是否由用户选择
在 Android 11 中,为一次性权限请求提供了新的权限授予逻辑。我们如何知道何时选择了“仅这一次”位置,而不是“使用中的应用程序”。
有没有办法以编程方式在运行时区分两个授予的权限。
android - Android 11. ContentResolver.query 返回空游标
我已经在我的应用程序中实现了从电话簿中选择联系人。为了使带有动作 PICK 的意图在 android 11 上运行,我将其添加到我的清单中:
该代码在 android 版本 10 及更低版本上运行良好。但是在 android 版本 11 上,我从电话簿中选择的联系人没有插入到我的应用程序的文本字段中,因为 ContentResolver.query 返回空光标。it.moveToFirst() 返回 false 这是我的代码:
请帮我。
xamarin - Xamarin:使用 API 级别 >=29 将文件保存到 Android 上的外部存储
我正在尝试将文件导出到 Xamarin 中 Android 手机的公共外部存储,以作为备份数据库。但是,在最新版本的 Android 手机 ( )中11.0 - API30
,不能使用.android:requestLegacyExternalStorage="true"
<application>
manifest.xml
在尝试创建文件之前,我确保已授予权限READ_EXTERNAL_STORAGE
& 。WRITE_EXTERNAL_STORAGE
尽管如此,在尝试创建文件时,System.UnauthorizedAccessException
仍会引发异常。
那么问题来了:如何将新文件写入 API 级别为 29 或更高级别的 Android 设备的公共外部存储?
到目前为止我找到的所有资源,也许你可以收集到比我更多的信息:
- https://forums.xamarin.com/discussion/179999/access-denied-to-external-storage
- (关于私有外部存储)https://forums.xamarin.com/discussion/171039/saving-files-to-external-storage
- https://docs.microsoft.com/en-us/xamarin/android/platform/files/external-storage?tabs=windows
- https://developer.android.com/about/versions/11/privacy/storage#permissions
android - Android 11 - window.setDecorFitsSystemWindow 不在状态和导航栏后面显示屏幕
我正在尝试将我的应用程序更新到 Android 11。我的应用程序的许多屏幕都是在状态栏后面使用应用程序内容设计的。我将我的 gradle 更新到 Android 11 并开始更新 Window 代码以获取 Android 11 设备的无限制行为。我在我的 Activity onCreate 方法中使用以下代码为预 Android 11 设备实现了我想要的结果:
我试图通过使用为 Android 11 获得相同的无限制行为w.setDecorFitsSystemWindows(false);
我尝试使用它而不是使用标志,将它与标志一起使用并传递真假,在设置标志之前和之后设置它,但我总是看到一个白色的状态和系统导航栏,而不是它们后面的我的应用程序内容。我尝试了什么:
我的应用程序仍然是 Java 代码,我尝试window?.setDecorFitsSystemWindows(false)
在另一个使用 Kotlin 代码的应用程序中运行它没有任何问题。
有谁知道我在这里错过了什么或做错了什么?