gpt4 book ai didi

telephonymanager - Android 11 中的 GetNetworkType

转载 作者:行者123 更新时间:2023-12-04 11:16:33 30 4
gpt4 key购买 nike

以下更改发布 here ,getNetworkType 方法已从 Android R 及以后版本弃用。
在 R 编译的应用程序中尝试使用此方法时,会导致抛出以下异常:

java.lang.SecurityException: getDataNetworkTypeForSubscriber: uid 10225 does not have android.permission.READ_PHONE_STATE.
at android.os.Parcel.createExceptionOrNull(Parcel.java:2285)
at android.os.Parcel.createException(Parcel.java:2269)
at android.os.Parcel.readException(Parcel.java:2252)
at android.os.Parcel.readException(Parcel.java:2194)
at com.android.internal.telephony.ITelephony$Stub$Proxy.getNetworkTypeForSubscriber(ITelephony.java:7565)
at android.telephony.TelephonyManager.getNetworkType(TelephonyManager.java:2964)
at android.telephony.TelephonyManager.getNetworkType(TelephonyManager.java:2928)
at com.ironsource.environment.ConnectivityService.getCellularNetworkType(ConnectivityService.java:197)
at com.ironsource.sdk.service.DeviceData.updateWithConnectionInfo(DeviceData.java:98)
at com.ironsource.sdk.service.DeviceData.fetchMutableData(DeviceData.java:54)
at com.ironsource.sdk.service.TokenService.collectDataFromDevice(TokenService.java:120)
at com.ironsource.sdk.service.TokenService.getRawToken(TokenService.java:177)
at com.ironsource.sdk.service.TokenService.getToken(TokenService.java:166)
at com.ironsource.sdk.IronSourceNetwork.getToken(IronSourceNetwork.java:183)
这很好,根据文档是预期的。如果我将应用程序编译为 Android R 之前的任何版本,则不会显示异常。
此异常表明我需要请求 android.permission.READ_PHONE_STATE允许。
我想知道是否有办法使用不需要此权限的任何其他 API 获取网络类型(因为此权限的级别很危险,我宁愿不要求用户提供)。

最佳答案

所以我的 friend 我和你有同样的麻烦,但到目前为止我带着一个临时修复我使用 compileSdkVersion 29 而不是 30 以及 targetSdkVersion 29 和我的 buildToolsVersion 28.0.3 并且我的应用程序加载正常。
由于我的这个问题是由于第三方库引起的,因此在修复错误之前我无法单独修复它,但我认为现在使用这个临时解决方案非常好。

关于telephonymanager - Android 11 中的 GetNetworkType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62692649/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com