问题标签 [android-10.0]

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 回答
1367 浏览

android - Android Q Beta 4 获得 IMEI 和 IMSI

我刚刚注意到在 Android Q Beta 4 中发生了一些有趣的事情,而在 Android Q Beta 3 中没有发生

根据文档 getIMEI() - https://developer.android.com/reference/android/telephony/TelephonyManager.html#getImei()

返回 IMEI(国际移动设备标识)。如果 IMEI 不可用,则返回 null。

需要权限:READ_PRIVILEGED_PHONE_STATE,调用应用程序必须是设备或配置文件所有者并拥有 READ_PHONE_STATE 权限,或者调用应用程序具有运营商权限(请参阅 hasCarrierPrivileges())。

但是,如果我是默认的 SMS 应用程序,我仍然可以使用 Android 模拟器(Google Play 商店)访问设备 IMEI:

  • READ_PHONE_STATE + 默认短信应用 --> 将返回设备 IMEI
  • READ_PHONE_STATE --> 将返回 null

Beta 3 没有发生这种情况,即使使用 (READ_PHONE_STATE + Default SMS App) 组合我也无法访问 IMEI,这很好,它与 Q 文档相匹配

据我了解,Android Beta 4 的行为违反了文档和新的 Android Q“不可重置设备标识符”限制。

任何人都知道这是否是 Beta 3 的回归,或者 Google 是否改变了这种行为并且没有更新 Android 文档?

0 投票
1 回答
2896 浏览

android - AndroidQ DownloadManager.Request.setDestinationUri

我的下载代码存储必须“生存”到应用程序卸载的图像,我使用过 getExternalStoragePublicDirectory,但现在在 Android Q 上这个 API 已被弃用,所以我修改了我的下载代码

但是我java.lang.IllegalArgumentException: Not a file URI: null知道如何编写代码以符合 Android Q 并且不使用诸如在 uri 中搜索冒号和拆分字符串之类的深奥技巧?

setDestinationUri的文档未更新并说

对于面向 Build.VERSION_CODES.Q 或更高版本的应用程序, 省略文本或顶级下载目录中的路径(由 Environment#getExternalStoragePublicDirectory(String) 和 Environment#DIRECTORY_DOWNLOADS 返回)

0 投票
10 回答
24740 浏览

android - Android 10 崩溃(layout/abc_screen_simple 第 17 行中的 InflateException)

我的应用程序从 Android 4.3 到 Android 9 Pie 运行良好,但我的应用程序在 Android 10 (Q API 29) 上无法运行并崩溃。这是我的 logcat - 为什么会这样?

这是我的 mainActivity.xml

更新

0 投票
3 回答
1689 浏览

android - 如何在android Q中获取相邻单元格信息?

我正在将我的应用程序的支持升级到 Android Q,但是从更新的 SDK 中,TelephonyManager 类中没有像 getNeighboringCellInfo() 这样的方法https://developer.android.com/reference/android/telephony/TelephonyManager.html有什么办法吗获取相邻小区信息?

谢谢

0 投票
2 回答
3028 浏览

android - CallRedirectionService 实现不起作用

Android Q引入了CallRedirectionServiceAPI——似乎是第 3 方应用程序可以使用它的方式之一是取消呼叫并通过 VoIP 重新路由它们——本质上是拦截电话。

我试图实现这个类如下

正如您所看到的,我正在覆盖onPlaceCall其中的抽象方法,CallRedirectionService并简单地保留一个日志语句来检查/测试此回调方法挂钩是否被 Android 框架调用。

我在我的 Manifest.xml 以及下面添加了此服务,这是CallRedirectionService类的源代码中记录的内容

我的猜测是,当 Android 系统发出拨出电话时,它onPlaceCall会被调用,然后我们可以编写自定义代码来对拨出电话进行进一步的操作。我不是 100% 确定这是否CallRedirectionService应该是这样工作的 - 顺便说一下,在CallRedirectionService撰写本文时,developer.android.com 中没有关于如何实现的示例。我将两者都设置 minSdkVersion 29 targetSdkVersion 29在我的build.gradle

但是,当调用时 -onPlaceCall我的服务内部没有被调用。

我正在使用 Android Q Emulator 进行测试,因为我没有运行 Android Q 的 Android 手机来对此进行测试 - 是否可以通过拨打模拟电话在 Android 模拟器上进行测试,或者我还缺少什么?

0 投票
2 回答
14346 浏览

android - How can I add foregroundServiceType to a library manifest while maintaining backwards compatibility?

My library project has a location service, and per Android Q requirements it sets the android:foregroundServiceType="location" attribute in the manifest. When an app module uses my library and compiles against API level 28, it fails with the following error:

How can my library maintain compatibility with older versions, while making sure the functionality works on Android Q?

0 投票
3 回答
1973 浏览

android - 如何在 Android Q 上获取应用程序的网络使用情况?

背景

我知道我们可以通过使用类似的东西(过去问过,这里)来获取指定应用程序的网络使用情况(到目前为止,从某个特定时间开始,移动和 Wifi 使用的总带宽):

文件:

https://developer.android.com/reference/android/app/usage/NetworkStatsManager.html#queryDetailsForUid(int,%20java.lang.String,%20long,%20long,%20int)

也可以获取全球网络使用情况(使用TrafficStats.getUidRxBytes(applicationInfo.uid)and TrafficStats.getUidTxBytes(applicationInfo.uid)),但这不是这个线程的全部内容。

问题

似乎 Android Q 计划导致许多设备身份功能停止工作,并且getSubscriberId就是其中之一。

我试过的

我尝试将 targetSdk 设置为 29 (Q),看看当我尝试使用它时会发生什么。

正如预期的那样,我遇到了一个异常,表明我不能再这样做了。它说 :

搜索互联网和这里,我没有看到提到这一点,但我发现了类似的问题,获取 IMEI 和其他标识符:

所以现在我只是在这里做了一个关于它的错误报告(包括一个示例项目):

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

问题

是否可以在 Android Q 上获取指定应用程序的网络使用情况(针对它时)?也许没有subscriberId?

如果是这样,怎么做?

如果没有,是否可以通过root或adb?


编辑:

好的,我不知道如何正式使用它,但至少对于 root 访问,可以使用从这里找到的这个解决方案获取订阅者 ID 。

意思是这样的:

当然,这不是官方的解决方案,但总比没有好......

编辑:通过 root 获取它的部分是错误的。它没有任何帮助。

0 投票
1 回答
8675 浏览

android - 以编程方式启用 android:forceDarkMode?

Android Q 引入了一项设置,可以在应用程序上强制使用暗模式,而无需担心手动更改颜色:https ://developer.android.com/preview/features/darktheme#force_dark

即使对于我使用 WebView 的应用程序,这也能正常工作!但是,我想让用户在需要时选择启用暗模式。是否可以为此目的利用“android:forceDarkAllowed”所做的自动更改?

0 投票
0 回答
43 浏览

android - android Q的适配存储范围和SAF的使用?

谷歌要求我们为新的范围存储准备我们的应用程序。所以我通过使用 SAF 完全修改了我的代码。我必须处理很多事情,但我将从这个问题开始:对于给定的树,您可以轻松获得图像文件的缩略图:

但是如何获取视频文件的拇指以及如何获取音频文件的艺术专辑?

有没有办法以下列形式获取媒体 uri:

内容://媒体/外部/图像/媒体/361

来自 SAF 给出的 uri?

谢谢。

0 投票
2 回答
720 浏览

android - 如何检测 NR 网络是 NSA 还是 SA 类型(使用 android API)

我知道Android Q中已经添加了5G API,我想知道我们是否可以检测到网络是NSA网络还是SA网络。感谢任何人提供的信息。