问题标签 [android-12]
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-widget - 在 Android 12 上托管某些小部件时“膨胀 RemoteViews 时出错”
尝试在 Android 12 上托管一些小部件(在本例中为 Gmail 小部件)时出现错误。我还有几个显示类似错误的小部件。
乍一看,问题似乎出在小部件的 xml 文件中,但在以前的 Android 版本上一切正常。Android 12 主页启动器也会按预期加载小部件。
Android 12 上的小部件托管是否已更改?小部件制作有变化,但我没有发现托管有任何变化。
错误:
活动代码,在 github 上找到。它非常标准,并且在以前的 Android 版本上运行良好:
android - 来自 IntentService 的启动活动在 Android 12 中不起作用
快速背景:我已将我的最新更新targetSdkVersion
到最新的 Android 31
我有一个在从通知托盘单击通知后执行的服务类,它包含以下代码:
收到消息后,将创建 PendingIntent,如下所示
我没有收到任何错误日志或任何相关的跟踪日志,我看到的唯一日志是
我浏览了一些文档并偶然发现了Restrictions on started Activity from the background,并且列出了一些例外情况,其中之一是当“应用程序在前台任务的后台堆栈中有活动”时。所以我期待我的活动会开始(鉴于我的应用程序在后台暂停)
谁能帮我定位问题?是否仍然可以使用 IntentService 解决此问题?
或者现在是否需要使用 WorkManager 进行迁移?如果是这样,你也可以留下一个很好的参考来检查。
非常感谢。
android - 作业计划程序未在 Android 12 上锁定/直接启动时启动作业
我正在努力使我的闹钟应用程序与即将发布的 Android 12 兼容,最近我偶然发现了一个问题。似乎自 Android 12 更新以来,在锁定/直接启动期间在 Job Scheduler 中安排的作业直到设备解锁后才会启动。我已经查看了在 Android 12 中所做的更改,但没有发现任何适用于我的情况的更改,我在随机测试中发现了这一点。
这是一个主要问题,因为我需要在设备重启时重新安排我的应用程序的警报,并且不能等待用户首先解锁设备,因为重启可能会在一夜之间自动发生,让用户在早上没有预定的警报。
在测试应用程序(针对 Android 11)下运行时,结果如下:
- Android 11 及更低版本:在锁定和常规启动期间计划并立即启动作业。
- Android 12:在正常启动期间如上工作,但在锁定启动时立即安排工作,但仅在设备解锁后启动。
除了手动运行整个作业(例如使用 WakeLock)之外,关于如何使用它的任何建议?或者也许有人知道 Android 12 的哪些变化实际上在这里生效?
这是一个用于观察这种情况的简单测试类:
作业是从引导接收器安排的:
这两个类都是directBootAware(清单的内容):
android - Android 12 - 前台服务启动限制
我正在开发一个需要从后台启动前台服务的 SDK。因为它使用后台定位和蓝牙相关的作品。如果应用程序被杀死,则监控在后台执行。这就是我使用前台服务的原因。有一个条件是从后台启动前台服务。
目前,我的 SDK 使用Service来处理这项工作。但是Android 12 on-words 不支持从后台启动服务。
我正在尝试从引发以下异常的后台启动服务。
我如何使用WorkManager 来解决这个问题,我的所有处理都由 Service 类完成,我如何将 Service 对象传递给Worker类并在 Worker 类中启动这项工作。
实际上,我的项目是基于信标技术的。信标信号用于向用户展示不同的推荐。
在我目前的实现中,如果应用程序被用户杀死,并且还接受前台服务,SDK 将在后台运行。并检测信标并提供适当的操作。
我的实现是,如果应用程序使用前台服务“关闭”初始化我的 SDK,那么稍后,当应用程序处于后台并尝试从后台启动前台服务时,会抛出此异常。与前台服务相关的决策由服务器端 API 持有。我会定期检查服务器端值是否更改,如果值更改,则更改的操作会反映在 SDK 中。
android - Android 12 crash. Huawei services
In our app we have dependency: com.huawei.hms:base:6.1.0.302
and use HuaweiApiAvailability
class.
As result of calling this function PendingIntent getErrPendingIntent(Context var1, ConnectionResult var2)
we have exception:
Question: are you planning to update PendingIntens with new flag for Android 12?
android - 面向 Android 12 及更高版本的应用需要为
错误:针对 Android 12 及更高版本的应用需要为android:exported
相应组件定义了 Intent 过滤器时指定显式值。
显现
我已将exported=true 添加到启动器活动中,但仍然失败
android - Android 12 - 通知蹦床限制
由于android 12, 通知蹦床限制导致我的项目出现大问题。我开发了一个 SDK,它用于显示本地通知。我的问题是我使用的通知是在应用程序中显示横幅或打开 Web 视图。对于Notification trampoline 限制,我需要使用pending intent指定通知点击事件。我的问题是,从 SDK 方面,我找到了应用程序包 Id 和午餐 MainActivity,每次我点击通知时,即使应用程序在后台或前台,应用程序也会重新启动。
我需要了解以下内容
- 我怎么知道应用程序何时在前台或后台处于活动状态
- 如果存在需要知道哪个活动在栈顶
您是否遇到过相同或类似的问题?你是怎么解决的?任何帮助将不胜感激。谢谢!
android - 为什么 Android 12 不记录旅行?
我的应用通过前台服务收集位置,并且在 Android 11 之前一直运行良好。在 Android 12 测试版中,所有权限都适用于以前的版本,我得到的位置很少,远低于我的更新间隔设置,有时不是一次几分钟。
对于使用前台服务、LocationManager 或其他任何可能影响这一点的运行应用程序,Android 12 是否有一些更改?
编辑:尝试模拟位置;那些进来很好。也尝试添加
......这没有帮助。我曾考虑过切换到 Fused Location Provider API,但我读过这无助于获得更多位置,恰恰相反。
我的下一步是将“gps”位置提供程序与 LocationManager 一起使用;我的猜测是这将获得更多位置,但我的应用程序一直在处理来自“融合”提供商的位置类型,所以我真的想要一个更好的选择。
android - BiometricPrompt 描述在 Android 12 中被截断
我可以从 android 文档中添加的 Android 12 新功能/API 中看到的唯一相关内容是“BiometricPrompt 的可本地化字符串”
我的问题如下图所示,代码看起来像
A<br>
或 a\n
在这里也不起作用。
有没有人遇到过这个?并有可靠的解决方案?
android-widget - 从 Android 12 上的小部件主机控制小部件角的圆度
Android 12文档说启动器可以控制小部件角半径。它与 Android 12 中添加的新参数有关 -system_app_widget_background_radius
和system_app_widget_inner_radius
那么,你如何做到这一点?它仅限于启动器还是任何小部件主机都可以做到?