问题标签 [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 投票
0 回答
219 浏览

android - 在后台使用 Fence API 是否需要 Android P 中的前台服务

使用 Android P,在后台运行的应用将不再接收传感器更新。解决此问题的一种方法是使用前台服务。

据此_

对后台传感器的访问受限

Android P 限制了后台应用访问用户输入和传感器数据的能力。如果您的应用在运行 Android P 的设备上在后台运行,系统会对您的应用应用以下限制:

  • 您的应用无法访问麦克风或摄像头。

  • 使用连续报告模式的传感器(例如加速度计和陀螺仪)不接收事件。

  • 使用 on-change 或 one-shot 报告模式的传感器不接收事件。

如果您的应用需要检测运行 Android P 的设备上的传感器事件,请使用前台服务。

这是否也适用于通过 Awareness/Fence API 等间接传感器访问?他们是否也需要前台服务?

0 投票
18 回答
239481 浏览

android - API 28 (P) 的 Android 设计支持库不起作用

我已经成功配置了android-P SDK环境。当我尝试使用 android 设计支持库时,我遇到了项目构建错误。项目配置如下:

IDE:3.2 Canary 17 目标 API:28 编译 API:28

构建失败的错误是:

清单合并失败:[androidx.core:core:1.0.0-alpha3] AndroidManifest.xml:22:18-86 中的属性 application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) 也存在于 [com.android .support:support-compat:28.0.0-alpha3] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory)。建议:将 'tools:replace="android:appComponentFactory"' 添加到 AndroidManifest.xml:6:5-40:19 的元素以覆盖。

0 投票
4 回答
843 浏览

android - CardView中的CardCornerRadius在android Pie中看起来很奇怪

我的 CardView 一直按预期显示,直到像这样的android O ,

但是在android P中它看起来像这样,(里面是透明的白色矩形)

这是应用程序所有 CardView 中使用的样式。

如果我使用不透明cardBackgroundColor,则内部矩形会消失,但这不是解决方案。我需要使用以前使用的半透明颜色。任何人都可以帮我克服这个吗?请注意,它只发生在Android Pie中。

0 投票
3 回答
2154 浏览

android - 找不到带有哈希字符串“android-P”的目标

我正在关注教程页面

我得到了与他们在该页面中所说的完全相同的错误

无法在 D:\Development\Android\Sdk 中找到带有哈希字符串 'android-P' 的目标 安装缺少的平台并同步项目

在此处输入图像描述

当我点击

安装缺少的平台并同步项目 ,它显示错误为

在此处输入图像描述

所有软件包均不提供下载!以下包不可用:
- 包 id 平台;android-P

在此处输入图像描述

在此处输入图像描述

我已经安装了它要求 ANDROID - P 的几乎所有 SDK。

0 投票
0 回答
390 浏览

android - VoIP 应用的 Android P 后台限制

在 Android P 中添加了增强的隐私解决方案,其中之一是当应用程序在后台时无法访问麦克风或摄像头,我一直在测试我的 VoIP 应用程序,并且可以确认在几秒钟的多任务处理后麦克风确实熄灭了(通话时)。绑定服务也没有改变这种行为。

但是,我觉得这通常对 VoIP 应用程序社区有害,在通话时,用户将多任务发送我们的应用程序到后台。

谷歌是否出现了,或者是否有人知道为 Android P 上的后台 VoIP 应用程序(通话时)保持麦克风活动的特殊条件、标志或做法?

谢谢!

0 投票
4 回答
18238 浏览

android - 没有 TLS 的 Android P:network-security-config: cleartextTrafficPermitted IP 不可能(仅域)

我正在尝试使用 HTTP 服务器连接到嵌入式设备,该服务器在 android < P (直到我设置targetSdkVersion 28)上运行良好,因为默认情况下启用了网络 TLS的更改。

有一种方法可以选择退出明文流量,但似乎这仅适用于域而不适用于IP 地址


我尝试android:networkSecurityConfig在 Manifest 中使用 IP 而不是域设置一个,但这不起作用:

将此设置为 a<base-config cleartextTrafficPermitted="false">也不起作用。


因此,在没有 domain的情况下,似乎没有办法让非 TLS 通信正常工作。但是因为这是本地网络中的嵌入式设备,所以我们没有域(我们只知道 IP)。

对于所有无法再通信的嵌入式设备来说,这似乎是一个主要问题。此外,“新应用和现有应用的更新需要以 API 级别为目标 [2020 年 11 月为 28]”(从 2018 年 11 月开始,API 26 开始,并且每年都在推进)。

任何想法如何使这成为可能?

0 投票
8 回答
24007 浏览

android - 确定是否存在生物识别硬件以及用户是否已在 Android P 上注册生物识别

我被要求根据生物识别硬件的存在显示某些 UI 元素。对于 Android 23-27,我使用FingerprintManager#isHardwareDetected()FingerprintManager#hasEnrolledFingerprints(). 两者都在 Android 28 中被弃用。

我了解我可以通过使用或BiometricPrompt#authenticate(...)接收方法来获取此信息。但这会导致显示在支持设备上,这是不可取的。使用似乎也不是解决方案,因为我不知道何时取消提示。BiometricPrompt#BIOMETRIC_ERROR_HW_NOT_PRESENTBiometricPrompt#BIOMETRIC_ERROR_NO_BIOMETRICSBiometricPrompt.AuthenticationCallback#onAuthenticationError(int errorCode, ...)BiometricPromptCancellationSignal

有没有办法检测生物识别硬件的存在和用户注册?

0 投票
0 回答
56 浏览

java - 9-patch 在 Java 和 Xml 中设置时表现不同

使用 java 设置 9-patch 时,它会稍微垂直拉伸,而通过 XML 设置则完美。

在代码中设置:

垂直边缘被拉伸 > 垂直边缘被拉伸

XML 中的设置:

这是预期的> 这是预期的

注意:我知道解决方法,但需要知道这种行为是否有任何原因。

0 投票
1 回答
1851 浏览

phone-call - 是否有新的官方 API 用于拒绝 Android 上的呼叫?

背景

很长一段时间以来,Android 上都没有用于阻止调用的官方 API。

开发人员为 CallerId 和呼叫阻止应用程序所做的是使用一些反射技巧,如下所示

问题

似乎没有阻止应用在 Android P DP3 上运行(在 Pixel 2 上测试)。即使是非常流行的应用程序(例如 TrueCaller)也无法阻止呼叫。

我相信这是因为它可能会被官方 API 取代,因为有一些文章讨论了用户的内置呼叫阻止功能:

https://www.gsmarena.com/android_p_may_introduce_stricter_call_blocking-news-29940.php

我发现了什么

唯一可以替代它的解决方案是扩展InCallService类,但这样做您还必须让您的应用程序成为默认拨号器应用程序:

除了实现 InCallService API 之外,您还必须在清单中声明一个处理 Intent.ACTION_DIAL 意图的活动。

不仅如此,一次只能设置一个应用程序,因此用户不能选择多个 callerId 和/或呼叫阻止应用程序。

看我找不到替代品,而且现在是请求这种东西的最佳时机,我也在这里请求了它。

问题

是否有其他方法可以拒绝来电?

谷歌现在是否提供了官方功能来做到这一点?

0 投票
2 回答
14210 浏览

android - 我们应该在 targetSDK 28 中使用什么支持库版本?

我正在阅读这篇文章,它说update your project's compileSdkVersion and targetSdkVersion to API 28。所以我做了,但是支持库给出了错误,比如支持库不应该使用与 compileSdk 版本不同的版本

在此处输入图像描述

我尝试将其更新到 28.0.0 但它不起作用并说

Failed to resolve: com.android.support:appcompat-v7:28.0.0

我知道它仍然可以使用,27.1.1但是什么是正确的版本,不会给出红色下划线?

编辑

build.gradle 文件