tom*_*fic 15 telephonymanager android-11
根据此处发布的更改,Android R 及以后不推荐使用 getNetworkType 方法。
在 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)
Run Code Online (Sandbox Code Playgroud)
这很好,根据文档是预期的。如果我将应用程序编译为 Android R 之前的任何版本,则不会显示异常。
此异常表示我需要请求android.permission.READ_PHONE_STATE权限。
我想知道是否有办法使用不需要此权限的任何其他 API 获取网络类型(因为此权限的级别很危险,我宁愿不要求用户提供)。
小智 0
所以我的朋友,我和你有同样的麻烦,但到目前为止,我进行了临时修复,我使用compileSdkVersion 29而不是30以及targetSdkVersion 29和我的buildToolsVersion 28.0.3,我的应用程序加载正常。
由于我的这个问题是由于第三方库造成的,所以在修复错误之前我无法单独修复它,但我认为现在使用这个临时解决方案非常好。
| 归档时间: |
|
| 查看次数: |
8585 次 |
| 最近记录: |