问题标签 [android-8.0-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 投票
31 回答
238191 浏览

android - Context.startForegroundService() 没有调用 Service.startForeground()

Service在 Android O 操作系统上使用 Class。

我打算Service在后台使用。

Android文档指出

如果您的应用程序以 API 级别 26 或更高级别为目标,则系统会对使用或创建后台服务施加限制,除非应用程序本身位于前台。如果应用需要创建前台服务,应用应该调用startForegroundService().

如果使用startForegroundService(),则会Service引发以下错误。

这有什么问题?

0 投票
1 回答
586 浏览

android - Android Studio 无法识别 ShortcutManager 类

我正在研究使用 Android O 创建快捷方式。不幸的是,Android Studio 无法识别 ShortcutManager 类:

在此处输入图像描述

在我设置为依赖项的 gradle 文件中:

在 gradle 文件中,我设置了以下版本:

我已按照此SO 响应中的步骤执行了File => Invalidate Caches / Restart...

不幸的是,Android Studio 仍然无法识别该类。

关于我的 Android Studio 版本的信息:

尝试手动导入类不成功:

在此处输入图像描述

0 投票
4 回答
2722 浏览

android - 升级到编译 sdk 版本后 findViewById 出错

升级到编译SDK26版后,全部findViewById报错:

没有足够的信息来推断 fun findViewById(id: Int): T 中的参数 T!

0 投票
3 回答
606 浏览

android - Android O 中的广播充电器断开连接

现在,Android O 的最终 API 已经发布,并且以下广播都没有被列入白名单,我遇到了以下问题:

在我的应用程序(目标 API 25)中,我目前有一个BroadcastReceiver监听 和 的系统ACTION_POWER_CONNECTED事件ACTION_POWER_DISCONNECTED。现在我想更新我的应用程序以针对 Android O,但随着这个版本的发布,广播行为发生了巨大变化:

以 Android O 为目标的应用无法再在其清单中为隐式广播注册广播接收器。隐式广播是不专门针对该应用程序的广播。

由于这两个广播都是隐式的,我只能通过该Context.registerReceiver()方法为它们注册,但随之而来的问题是:一旦我的应用程序的进程被系统杀死或系统清除了我的应用程序的内存(由于低-设备内存)广播注册将丢失。

为了避免这个问题,我可以将JobSchedulerAPI 与setRequiresCharging方法一起使用,ACTION_POWER_CONNECTEDACTION_POWER_DISCONNECTED我必须使用registerReceiver方法。

由于我的应用程序控制设备的音量(基于这些事件),因此不会错过任何这些事件非常重要。那么如何在 Android O 中安全地监听断开电源事件呢?

顺便提一句。我对 WIFI 断开连接事件有同样的问题。

编辑:我很乐意在没有前台服务通知的情况下执行此操作

0 投票
1 回答
103 浏览

android - 使用 Android O 上的服务限制在后台检查电池电量

我有一个监控电池电量的应用程序,但我担心如何在即将推出的 Android O 版本上工作,并在后台进行服务限制。任何提示或想法都会对我有很大帮助。

谢谢。

0 投票
8 回答
35389 浏览

android - Android O 报告通知未发布到频道 - 但它是

几个Android O通知问题:

1)我创建了一个通知通道(见下文),正在使用 .setChannelId() 调用构建器(传入我创建的通道的名称,“wakey”;但是,当我运行应用程序时,我收到一条消息我未能向频道“null”发布通知。可能是什么原因造成的?

2)我怀疑#1的答案可以在它说要检查的“日志”中找到,但我已经检查了logcat并且没有看到任何关于通知或频道的信息。它说要查看的日志在哪里?

这是我用来创建频道的代码:

这是生成通知的代码:

这是我收到的警告: 在此处输入图像描述

0 投票
2 回答
1502 浏览

java - 如何使用“长”颜色?

Android API 26 引入了处理颜色的新方法:

颜色 long 是 Android O 中引入的一种表示形式,用于将颜色存储在不同的颜色空间中,比颜色整数更精确。

现在我们可以使用新的色彩空间,如下所示:

不错,颜色很长。怎么办?

  • 不能用于_android.graphics.Canvas
  • 不能用于_android.graphics.Paint
  • 不能用于_android.graphics.Bitmap

绘图时我应该如何使用长颜色?

例如:

0 投票
0 回答
366 浏览

google-chrome - 运行 Chrome 浏览器后,Android O Emulator 崩溃并自行关闭

我在 Linux (Debian x64) 上,我决定测试来自 Google 的新 Android O 模拟器。基本上,它工作正常。但是每当我尝试运行 Chrome 浏览器时,模拟器就会崩溃并立即自行关闭,而不会出现任何错误消息。模拟器是 Android O x86,带有 Google 服务。

任何人都可以确认这一点,也许有人知道任何解决方法吗?我的应用程序使用 Chrome 作为 Facebook 登录的后端,所以我无法调试它。

[编辑] 所以我尝试从命令行运行模拟器,我看到它抛出了分段错误错误。

0 投票
1 回答
1508 浏览

android - 如何在带有 Android 8 的模拟器上通过 Google Play Services 11 使用 Google Maps Android API

我想在 Android 8 模拟器上运行我的 Google 地图应用程序。正如 Google 建议的那样,应该使用第 11 版中 Google Play Services 提供的 Google Maps Android API。

为此,我放入compile 'com.google.android.gms:play-services-maps:11.0.0' 了我的 gradle 文件。

当我用 android 8 启动我的模拟器时,它只提供版本 10.9.30 的 google play 服务并且地图没有显示。

我在 Mac 上使用 android studio 2.3.3 运行模拟器。

如何将我的 Google Play 服务更新到版本 11 以使用 Google Maps Android API?

先感谢您!

0 投票
6 回答
109335 浏览

android - 为 api 26 (Android) 设置 Gradle

由于我已将 Nexus 5x 升级到 Android O DP3,我无法测试我的应用程序。我收到错误,因为没有配置我的 Gradle 文件以使用新的 API 级别 (26)。

所以我改变了这个和依赖关系,但我的所有支持库都出现错误,比如

点击

弹出一个进度对话框,用于下载正确的依赖项,但不会删除错误。清理项目、安装存储库然后重建项目也不起作用。

appcompat-v7

在 appcompat-v7:26.0.0-beta2 上,我得到(甚至在 Gradle 同步之前)很快就出现错误:

有人可以帮我为 Android API 26 正确配置 gradle 文件吗?任何帮助,将不胜感激。

PS:我目前正在使用 Gradle 3.0.0-alpha3 但在 Gradle 2.3.2 上遇到相同的错误

我的 Gradle 文件: