问题标签 [android-8.1-oreo]

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 投票
2 回答
641 浏览

android - NotificationChannel 在 Oreo 中播放错误的声音

我在运行 Android Oreo 的设备中遇到了 NotificationChannel 声音这个奇怪的问题。

假设我的项目原始目录中有两个声音文件:

然后在第一次安装应用程序时,我使用它们的 uri 将这些声音分配给不同的通知通道(例如):

在这一点上,一切都按预期工作。当我开始添加新声音(在前面或中间)时出现问题:

然后相应地更改文件的资源 ID:

所以此时我的第二个通知通道开始播放 B.mp3 声音文件而不是 c.mp3,因为它是使用 android.resource://myapp/ 2131558404 uri 初始化的。

在使用新的声音文件编译应用程序后,c.mp3 的资源 ID 发生了变化。

那么这个问题的解决方案是什么,因为在创建通知通道后我无法修改它。

最明显的解决方案是不要在旧文件中间添加新文件,但可能会被遗忘。

也许我可以删除旧频道并使用新 ID 再次添加它?

或者有没有办法让原始文件具有恒定的资源ID?

0 投票
0 回答
75 浏览

android - Oreo 禁用自动填充 lint 安全错误

我正在对以下行进行代码清理并使用 Android Studio 的检查/分析功能:

它大喊“Android Lint:安全错误常量”,可笑的是:

必须是以下之一:android.view.View.IMPORTANT_FOR_AUTOFILL_AUTO、android.view.View.IMPORTANT_FOR_AUTOFILL_YES、android.view.View.IMPORTANT_FOR_AUTOFILL_NO、android.view.View.IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS、android.view.View.IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS

这是Android的某种已知错误吗,您以前有什么想法或见过吗?

0 投票
1 回答
3533 浏览

android - Oreo:如何在源代码中找到所有受限制的系统调用?

https://android-developers.googleblog.com/2017/07/seccomp-filter-in-android-o.html

正如本文的“seccomp 过滤器”部分所说,

Android O 的 seccomp 过滤器会阻止某些系统调用,例如涉及某些安全攻击的 swapon/swapoff,以及对应用程序无用的密钥控制系统调用。总的来说,过滤器阻止了 arm64 中 271 个系统调用中的 17 个和 arm 中 364 个系统调用中的 70 个。

现在,一些系统调用被阻塞并抛出错误signal 31 (SIGSYS), code 1 (SYS_SECCOMP), fault addr -------- Cause: seccomp prevented call to disallowed system call 55

但是我找不到上面列出的 arm64 中的 17 个系统调用和 arm 中的 70 个系统调用的列表。哪些系统调用受到限制?如何找到导致崩溃的系统调用?

编辑:

似乎此错误消息是在此处生成的。

https://github.com/aosp-mirror/platform_system_core/blob/master/debuggerd/libdebuggerd/tombstone.cpp#L96

0 投票
0 回答
3587 浏览

android - “应用显示在其他应用之上”通知

我的应用在其他应用上显示内容。设置后一切正常

然而,在 Android 8.1 中有烦人的通知“应用程序显示在其他应用程序之上”,用户可以将其关闭。(在这种情况下,Messenger 只是一个示例)。

在此处输入图像描述

此意图打开设置屏幕并允许关闭此通知:

但在此之前,我想以编程方式检查此开关的当前状态。 可能吗?

0 投票
1 回答
1875 浏览

android - Android oreo - 一旦应用程序被杀死后的前台服务| android显示一个通知

应用程序的目标是 27,我正在 android oreo 8.0 设备上进行测试。

当用户点击下载按钮时,app 会启动前台 Intent 服务并通过通知通知用户。在onCreateof 中IntentService,app 也履行了调用该startForeground(int id, Notification notification)方法的承诺。所以,

如果应用程序在前台,一切正常。但是当用户刷出并因此杀死应用程序时;我重新开始下载,它可以工作,下载开始;但 android 系统会显示一条通知 - “<#appname#> is running in background”。所以用户现在可以看到两个通知

  • 我的应用程序中的一个显示下载进度和
  • 另一个来自 android 系统,显示我的应用程序正在后台运行。

这样好吗?如何避免来自android系统的通知?

以下是我管理刷出应用程序终止的方法:

然后稍后在onReceive()我调用:

总而言之, 一旦应用程序被杀死,如何避免从 android 系统显示应用程序在后台运行的通知?因为我已经向用户显示下载通知,所以用户知道这一点。

还有一个问题,有什么办法可以得到意图onCreate()IntentService?我需要获取下载内容的 id,它作为额外参数传入 Intent。因为基于此,我可以在其中显示通知onCreate()

到目前为止,我正在显示一个“开始下载”通知,然后onStartCommand()我清除该通知并根据内容 ID 创建一个新通知。

0 投票
0 回答
194 浏览

android - Android:模型绑定 Spinner 重置为其条目列表中的第一个值

我使用 Androids 绑定来填充我的 Spinner 并在模型中设置所选项目。到目前为止,这工作正常。但是,当我加载具有先前设置的 Spinner 值的模型时,它总是设置为 Spinners 列表中的第一项。

这是来自布局文件的 Spinners 节选:

以及用于绑定的转换方法:

我找到了这个旧帖子,但(已接受)解决方案已经适用于我的代码。

0 投票
4 回答
4372 浏览

android - FirebaseMessagingService 无法在后台使用一加 3 android oreo 8.0

当应用程序未运行并从最近的应用程序列表中删除时,Firebase onMessageReceived 永远不会调用。我正在使用 Firebase 并从我的服务器向我的应用程序发送数据有效负载通知,我尝试使用 JobScheduler 每 1 分钟启动一次 MyFirebaseMessagingService 以防系统正在终止我的服务,但这种方法在 One Plus 上对我不起作用3. 我知道android为了优化电池使用增加了后台服务限制,但是这个限制对FCM服务有影响吗?

这是我的消息字符串:

}

这是我在清单中的服务

0 投票
1 回答
508 浏览

android - Android oreo ble 后台连接

我需要永远保持连接。我如何在没有前台服务的情况下为 android Oreo 做到这一点?如果它被操作系统杀死,我需要恢复应用程序。并在重新启动后启动应用程序。我每次都需要搜索设备并尝试重新连接。你有什么建议吗?谢谢!

0 投票
1 回答
897 浏览

cordova - 8.1.0 中的 Android 屏幕方向问题

在 Android OS 8.1.0 中遇到问题

  • 开始肖像活动(清单上的肖像声明)
  • 开始景观活动(清单上的景观声明)
  • 完成景观活动
  • 纵向活动再次显示,但方向开始翻转:首先是纵向模式,然后是横向模式,最后是纵向。

我在操作系统版本 8.1.0 以上的 google pixel 2 xl 设备中观察到了这个问题(Android P developer preview1 中也存在这个问题)

我也看到有人在谷歌群组发帖

https://issuetracker.google.com/issues/69168442

但没有得到任何修复,我该如何解决这个问题。?

我的应用程序是混合应用程序(cordova),我也尝试在原生 android 中复制问题,但在原生 android 示例应用程序中不存在问题

0 投票
1 回答
1595 浏览

android - 活动在 android 8.1 中自行旋转并恢复正常

我的应用程序在所有 android 版本上都运行良好,但我注意到在 Android 8.1.0 (Oreo) 中,当我将屏幕从纵向活动转到横向活动时,当我按下返回按钮时,它会显示异常行为。

屏幕自动从横向旋转并恢复正常。看起来 Activity 正在重新启动。

以下是清单文件中定义的活动。