问题标签 [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.
android - 奥利奥中未显示通知
普通通知生成器不会在 Android O 上显示通知。
如何在 Android 8 Oreo 上显示通知?
是否有任何新代码要添加以在 Android O 上显示通知?
android - BroadcastReceiver 的生命周期与 Android O 的变化有关
如果我BroadcastReceiver
通过 mainfest 文件为系统广播声明一个(例如ACTION_POWER_DISCONNECTED
),系统将在每次发送特定广播时调用它,因此 BroadcastReceiver 的生命周期不受限制。
但也有无法通过清单文件注册的广播。对于这些广播,我们必须context.registerReceiver
使用相应的IntentFilter
. 假设我为它创建了一个 BroadcastReceiverBOOT_COMPLETED
并context.registerReceiver
从中调用并且从不调用unregisterReceiver
这个接收器是否也永远存在(直到手机重新启动)?
以 Android O 为目标的应用无法再在其清单中为隐式广播注册广播接收器。隐式广播是不专门针对该应用程序的广播。
如果我上面的猜想是正确的,这将是系统更改的一个简单解决方法(当然你不应该这样做,但这是可能的)。那么在广播BroadcastReceiver
之后注册的 aBOOT_COMPLETED
是否与通过清单自动注册的 BroadcastReceiver 具有相同的生命周期(一直到下一次重新启动)?
android - 在 Android Studio 中看不到“字体”资源类型
我正在体验新的 Android O 功能,其中一项新功能是现在应用程序可以将字体直接添加到res
文件夹中。根据使用字体的 android文档,第一步是使用右键单击 res 文件夹并转到新建 > Android 资源目录来创建一个名为“font”的新资源类型。
但我在 android studio 的下拉列表中看不到可用于资源类型的“字体”选项。
我无法在下拉菜单中看到“字体”选项,因此我无法创建字体 android 资源目录。
我的 Android 工作室详细信息:
Android Studio 2.3 Build #AI-162.3764568,于 2017 年 2 月 24 日构建 JRE: 1.8.0_112-release-b06 x86_64 JVM: OpenJDK 64-Bit Server VM by JetBrains sro
android - 通知徽章在 Android O 中没有唤醒
在 Android O 开发者预览版中,谷歌引入了应该显示在启动器图标上的通知徽章。我正在使用来自开发频道的 Android O 模拟器。我编写了一个简单的代码来显示通知徽章,但它似乎不起作用 -
它只是显示为正常通知。
API - https://developer.android.com/reference/android/app/Notification.Builder.html#chooseBadgeIcon(int)
有没有人在这方面工作过?我错过了什么吗?
显示徽章在设置中启用。
也尝试过 NotificationChannel。不工作 -
android - 我们如何离开画中画模式?
我们必须enterPictureInPictureMode()
将活动从其当前形式转变为画中画表示。
除了破坏活动之外,我们通过什么方式恢复它,将活动恢复到正常状态?上没有exitPictureInPictureMode()
, leavePictureInPictureMode()
, 或janeGetMeOffThisCrazyPictureInPictureModeThing()
方法Activity
,并且文档似乎没有涵盖替代方法。
我对适用于 Android O 的解决方案感兴趣,适用于移动设备上的画中画模式,不过如果它也适用于 Android TV,那就太好了!
更新 2017-04-08:如果您想要在用户单击 X 按钮退出画中画模式时返回正常模式,您可以执行以下操作:
关键位是调用startActivity()
以再次启动当前活动FLAG_ACTIVITY_REORDER_TO_FRONT
。对于一个singleTask
活动,您需要在一些非Activity
上下文中调用它,例如Application
单例。这似乎不会触发onStop()
or onStart()
,但确实会触发onNewIntent()
(无论Intent
您传递给startActivity()
)。
android - android-O:应用程序崩溃与 webview
我只是WebView
在布局中放置了一个。
当我在 Android-O 预览模拟器中运行项目时,出现以下错误:
如果您想生成此错误,只需创建一个新项目,将 webview 放入您的布局中并尝试在 Android O 模拟器中运行该项目。
谁能帮我这个。谢谢。
PS: Android Studio 2.4 Preview 3
android - Android O - 旧的启动前台服务仍在工作?
因此,对于 Android O,如果您希望每小时接收的不仅仅是几个位置更新,您需要让您的服务作为前台服务运行。
我注意到启动前台服务的旧方法似乎确实适用于 O。即
根据此处的行为更改指南: https ://developer.android.com/preview/behavior-changes.html
NotificationManager.startServiceInForeground() 方法启动前台服务。启动前台服务的旧方法不再有效。
尽管新方法仅在针对 O 时有效,但似乎旧方法似乎仍然适用于 O 设备,无论是否针对 O。
编辑 包括示例:
Google 示例项目 LocationUpdatesForegroundService 实际上有一个工作示例,您可以在其中直接看到问题。 https://github.com/googlesamples/android-play-location/tree/master/LocationUpdatesForegroundService
无论是针对 API 级别 25 进行定位和编译,还是针对 O 进行定位和编译,startForeground 方法似乎都可以正常工作(如下所示:https ://developer.android.com/preview/migration.html#uya )
所以,要重现:
- 如上一个链接中所述配置应用程序gradle
- 打开应用程序
- 请求位置更新
- 关闭应用程序(通过后退按钮或主页按钮)
服务正在前台运行(由通知阴影中的图标显示)。即使在运行 O 的设备上,位置更新也会按预期进行(每 10 秒一次)。我在这里缺少什么?
android - Android O 中的 android:appCategory。哪些值?
Android O 引入了应用类别的概念。这些类别用于将具有相似目的或功能的应用程序聚集在一起。开发人员根据Android O 功能和 API文档在AndroidManifest.xml
使用中声明这一点。android:appCategory
文档不清楚的是这个属性可以是什么值?我猜这将是一组离散的值,而不是任何字符串。
android - 以编程方式在 Android Nougat 和 O 中获取设备 mac 地址
我有一个应用程序,它需要设备 MAC 地址。我很容易在棉花糖及以下获得mac地址,但android牛轧糖和O有问题。那么如何找到mac。
android - 如何在 Android O 上使用 StorageStatsManager.queryStatsForPackage?
背景
在 Android O 之前,为了获得应用程序大小,您必须对其具有特殊权限,并使用隐藏的 API。
问题
这样的解决方案将不再有效,而是 Google 提供了一个粒度较小的官方 API:queryStatsForPackage,它返回StorageStats对象。
但是,我找不到任何有关如何使用它的信息。
与只需要应用程序包名的隐藏 API 不同,此 API 还需要“String volumeUuid”和“UserHandle user”。
问题
- 我如何提供这些参数?
- 他们的意思是什么?每个 volumeUuid 是否引用不同的存储(例如,内置存储和真正的 sd 卡),并且 UserHandle 是针对每个用户的?
- 如果#2 是正确的,我真的应该为每个可能的值调用它们,以获得应用程序占用的实际总存储空间吗?如果是这样,怎么做?