问题标签 [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.
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 文档?
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 返回)
android - Android 10 崩溃(layout/abc_screen_simple 第 17 行中的 InflateException)
我的应用程序从 Android 4.3 到 Android 9 Pie 运行良好,但我的应用程序在 Android 10 (Q API 29) 上无法运行并崩溃。这是我的 logcat - 为什么会这样?
这是我的 mainActivity.xml
更新
android - 如何在android Q中获取相邻单元格信息?
我正在将我的应用程序的支持升级到 Android Q,但是从更新的 SDK 中,TelephonyManager 类中没有像 getNeighboringCellInfo() 这样的方法https://developer.android.com/reference/android/telephony/TelephonyManager.html有什么办法吗获取相邻小区信息?
谢谢
android - CallRedirectionService 实现不起作用
Android Q引入了CallRedirectionService
API——似乎是第 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 模拟器上进行测试,或者我还缺少什么?
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?
android - 如何在 Android Q 上获取应用程序的网络使用情况?
背景
我知道我们可以通过使用类似的东西(过去问过,这里)来获取指定应用程序的网络使用情况(到目前为止,从某个特定时间开始,移动和 Wifi 使用的总带宽):
文件:
也可以获取全球网络使用情况(使用TrafficStats.getUidRxBytes(applicationInfo.uid)
and TrafficStats.getUidTxBytes(applicationInfo.uid)
),但这不是这个线程的全部内容。
问题
似乎 Android Q 计划导致许多设备身份功能停止工作,并且getSubscriberId
就是其中之一。
我试过的
我尝试将 targetSdk 设置为 29 (Q),看看当我尝试使用它时会发生什么。
正如预期的那样,我遇到了一个异常,表明我不能再这样做了。它说 :
搜索互联网和这里,我没有看到提到这一点,但我发现了类似的问题,获取 IMEI 和其他标识符:
- 我在 Android Q 中获得了 IMEI 空值?
- https://issuetracker.google.com/issues/130202003
- https://issuetracker.google.com/issues/129583175
- https://developer.android.com/preview/privacy/data-identifiers#device-ids
所以现在我只是在这里做了一个关于它的错误报告(包括一个示例项目):
https://issuetracker.google.com/issues/134919382
问题
是否可以在 Android Q 上获取指定应用程序的网络使用情况(针对它时)?也许没有subscriberId?
如果是这样,怎么做?
如果没有,是否可以通过root或adb?
编辑:
好的,我不知道如何正式使用它,但至少对于 root 访问,可以使用从这里找到的这个解决方案获取订阅者 ID 。
意思是这样的:
当然,这不是官方的解决方案,但总比没有好......
编辑:通过 root 获取它的部分是错误的。它没有任何帮助。
android - 以编程方式启用 android:forceDarkMode?
Android Q 引入了一项设置,可以在应用程序上强制使用暗模式,而无需担心手动更改颜色:https ://developer.android.com/preview/features/darktheme#force_dark
即使对于我使用 WebView 的应用程序,这也能正常工作!但是,我想让用户在需要时选择启用暗模式。是否可以为此目的利用“android:forceDarkAllowed”所做的自动更改?
android - android Q的适配存储范围和SAF的使用?
谷歌要求我们为新的范围存储准备我们的应用程序。所以我通过使用 SAF 完全修改了我的代码。我必须处理很多事情,但我将从这个问题开始:对于给定的树,您可以轻松获得图像文件的缩略图:
但是如何获取视频文件的拇指以及如何获取音频文件的艺术专辑?
有没有办法以下列形式获取媒体 uri:
内容://媒体/外部/图像/媒体/361
来自 SAF 给出的 uri?
谢谢。
android - 如何检测 NR 网络是 NSA 还是 SA 类型(使用 android API)
我知道Android Q中已经添加了5G API,我想知道我们是否可以检测到网络是NSA网络还是SA网络。感谢任何人提供的信息。