问题标签 [android-9.0-pie]

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 投票
1 回答
1462 浏览

android - Android P - 生成密钥对

将我的应用程序定位到 Android 9 Preview 时,尝试生成KeyPair时出现错误。我正在使用以下代码:

我在KeyPair keyPair = keyPairGenerator.generateKeyPair();行中遇到错误

我将堆栈跟踪放在问题的末尾。有没有人遇到过这个问题?

感谢您的帮助!

0 投票
1 回答
419 浏览

android - (Android P) 在后台获取 GPS 位置的限制?

简而言之,Android P 中应用在后台时, LocationManager获取 GPS 是否有新的限制?

根据文档Android P Behavior Changes,当应用程序在后台时,访问用户输入和传感器数据是有限的。我担心的是这些新约束是否对 LocationManager 有任何影响?可能系统定位服务需要一些传感器的支持,所以获取gps会被阻塞。

0 投票
2 回答
2610 浏览

android - Android P Preview 上的 Espresso 测试:检测到 API 兼容性错误问题

我正在使用 Espresso 进行仪器测试并在 Android Preview P Emulator 上运行它们。我的测试类中有 5 个测试用例,其中一个测试在运行测试套件时失败并出现以下错误。

检测到 API 兼容性问题

而失败的测试用例在单独运行而不是在套件中运行时通过。

由于对话框显示在视图上,上面写着Detected problems with API compatibility,我没有在层次结构异常中找到匹配的视图以及上述错误。

0 投票
1 回答
14265 浏览

android - 什么是非 SDK 接口

在搜索新的 Android P 功能后,我遇到了非 SDK 接口的限制。我的问题是,

什么是非 SDK 接口或 SDK 接口?它们之间有什么区别?特别是让非 SDK 变得更好。适用于 android 的流行 SDK 和非 SDK 接口示例。

PS我遇到了区分SDK和API接口的抽象答案,但它没有满足我的问题:/

0 投票
0 回答
2223 浏览

android - 使用Android P的ImageDecoder有什么用处和优势?

背景

Android P 提供了一个用于加载图像的新 API,使用ImageDecoder类。

问题

关于这个类的文档不多,所以我只是好奇它的用法,以及我是否应该在可能的情况下考虑使用它,而不是Glide 库,例如,谷歌本身建议使用它:

在大多数情况下,我们建议您使用 Glide 库在您的应用程序中获取、解码和显示位图。Glide 抽象出处理这些和其他与在 Android 上使用位图和其他图像相关的任务的大部分复杂性。有关使用和下载 Glide 的信息,请访问 GitHub 上的 Glide 存储库。

我发现了什么

我找到了一些关于它的文章,提供了它可以做什么以及如何使用它的线索:

但是,根据我的测试,与 Movie 类相比,使用此 API 加载 GIF 动画更糟糕(占用更多内存,使用大约相同的 CPU),后者本身比android-gif-drawable等第三方库更差。我测试的是一个相当长的GIF动画。在第三方库上大约需要 59MB。使用 Movie 类大约需要 168MB,使用新的 ImageDecoder API 大约需要 200-300MB ...

简而言之,我对这个 API 的发现是:

  1. 它应该取代 BitmapFactory
  2. 它支持加载动画GIF/WEBP
  3. 它有一些用于前/后处理的侦听器
  4. 它应该更有效,但我看不到它,至少在内存使用方面没有。

问题

  1. 与我们在第三方库中已有的相比,使用此 API 有什么优势吗?意思是 Glide 用于静态图像,“android-gif-drawable”用于 GIF(也许是我没有搜索的 WEBP 的东西)?

  2. 它在幕后表现是否更好,我不应该关心它的内存使用情况?

  3. 它有内存/磁盘缓存吗?如果是这样,既然 Android 不在堆内存中存储位图,它如何管理其内存缓存(在此处写到)?

  4. 支持库中是否有可能提供此 API?否则我认为根本不需要使用它......编辑:似乎它可能在支持库中。链接在这里

0 投票
1 回答
2508 浏览

java - Android P ,下载不开始使用下载管理器?

我正在尝试使用下载管理器下载文件,但下载似乎没有在 Android P 上开始(在模拟器上运行)。它在 Android Oreo 和 Android Marshmallow 上运行良好。这是代码。

知道为什么会发生这种情况以及如何解决这个问题吗?与 Android P 中引入的更改有关吗?

0 投票
8 回答
30072 浏览

android - Android P visibilityawareimagebutton.setVisibility 只能从同一个库组中调用

我正在尝试使用新的 Android P FloatingActionButton,它是其中的一部分,com.google.android.material.floatingactionbutton.FloatingActionButton我收到了以下警告:

VisibilityAwareImageButton.setVisibility 只能从同一个库组中调用(groupId=com.google.android.material)

在此处输入图像描述

我尝试过搜索,唯一的搜索结果是关于响应 UI 可见性更改:

响应 UI 可见性更改

我尝试探索如何查看VISIBLE该包中是否有 int 值,com.google.android.material而我发现的唯一一个是com.google.android.material.floatingactionbutton.FloatingActionButton.VISIBLE,但警告仍然存在。

顶级 build.gradle

项目级 build.gradle

编辑:

我应该注意,我使用的是 Android Studio 3.2 canary 14。这个版本似乎已经报告了一些错误,我怀疑这是其中之一。

编辑2:

Android Studio 3.2 canary 15 版仍然存在问题,但我找到了一种解决方法,使用show()hide()

0 投票
2 回答
3393 浏览

android - 自定义键盘不适用于 Android P Beta

当我尝试使用自定义键盘在 Android P Beta 上出现异常时,一切正常,直到 Android Oreo 但最近发生了崩溃。只需尝试找出哪个类可能导致异常。目前无法访问完整的自定义键盘代码,因此不发布代码。

0 投票
2 回答
644 浏览

android - Android P 应用程序未安装在 KitKat 上

我最近安装了 android Studio 3.2 Canary 14 用于为 Android P 开发。我的 minSDK 是 15,目标是“P”,但在 Kitkat 上运行应用程序失败并出现错误

失败 [INSTALL_FAILED_OLDER_SDK] 安装失败,因为应用的 minSdkVersion 比设备的 API 级别 (API 19) 新。请更新您的应用 minSdkVersion。安装 APK 时出错

0 投票
1 回答
139 浏览

android - 为什么在 Android P beta (DP2) 上忽略了`onComputeColors`?

背景

我有一个动态壁纸,它使用相对较新的 API(来自 Android 8.1 - API 26)来请求操作系统使用自定义颜色:

问题

在 Android 8.1 甚至 Android P DP1 上,所有这些功能都可以正常工作,因为它们与普通壁纸对颜色所做的一样,如果选择的颜色足够暗,则会影响通知抽屉。下面是选择非深色和选择深色背景的比较:

在此处输入图像描述

在此处输入图像描述

问题是,在 Android P beta (DP2) 上,即使调用了这个函数,它也不会做任何事情。

要自行测试,您可以尝试我在此处发布的完整项目。

我发现了什么

  1. 我想也许 API 已经改变了,所以我试图找出哪些函数可用,但是我看不到任何新的东西。

  2. 我尝试使用各种方式返回自定义颜色:

    一个。WallpaperColors(Color.valueOf(0xff000000.toInt()), Color.valueOf(0xff000000.toInt()), Color.valueOf(0xff000000.toInt()))

    湾。WallpaperColors.fromDrawable(ColorDrawable(0xff000000.toInt()))

    C。WallpaperColors.fromDrawable(BitmapDrawable(completelyBlackBitmap))

    d。WallpaperColors.fromBitmap(completelyBlackBitmap)

可悲的是,没有一个工作(fromBitmap是在 Android 8.1 上运行良好的那个)。

  1. 看到这一点,我重新检查了我的代码是否正常,并注意到内置的动态壁纸工作正常,并且选择纯黑色壁纸(而不是动态壁纸)也影响了操作系统的 UI。

  2. 看到它适用于内置应用程序,我已经向谷歌报告了这个问题,却发现他们不明白我在说什么,每次我试图告诉他们他们误解了它不同:

  3. 我想确保这不仅仅是我的应用程序的问题,而是其他应用程序的问题,所以我测试了 Muzei 动态壁纸应用程序,它实际上是由 Google 自己的一位开发人员制作的。在 Android 8.1 上运行良好时,问题也确实发生在那里。

  4. 我只是好奇,想看看如果我将 Muzei 移动为系统应用程序是否会出现问题,但这样做之后,我发现问题仍然存在。

问题

  1. 怎么已经不行了?

  2. 有解决方法/解决方法吗?

  3. 为什么它适用于内置应用程序和普通壁纸,但不适用于第三方应用程序?我认为他们的代码没有任何区别。