nis*_*eri 5 android telephonymanager android-data-usage networkstatsmanager android-10.0
我正在尝试制作一个网络使用情况监控应用程序,它向用户显示移动数据使用历史记录。为此,我使用使用情况访问来获取准确的数据使用统计信息NetworkStatsManager。但这在 Android 10 中不再有效。
我正在使用NetworkStatsManager.querySummaryForDevice它需要订阅者 ID,之前我可以使用TelephonyManager.getSubscriberId.
但getSubscriberId现在该功能在 Android 10 中无法使用,因为它需要READ_PRIVILEGED_PHONE_STATE第三方应用程序无法具备的功能。
关于如何使其发挥作用有什么想法吗?我了解获取订阅者 ID 的限制,但只要我获得移动数据使用量(对此我有足够的权限),我并不真正关心订阅者 ID。
调用NetworkStatsManagerresolvesubscriberId时如下:
null在 Android 版本 10+(API 级别 >= 29)设备上运行时使用这是一个应该有所帮助的示例代码:
public static String getSubscriberId() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
return telephonyManager.getSubscriberId();
} else {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
在 Android API 级别 29 和 Android API 级别 26 设备上为我工作。
| 归档时间: |
|
| 查看次数: |
1575 次 |
| 最近记录: |