HarmonyOS鸿蒙Next中部分系统反射ConnectivityManager出现异常
HarmonyOS鸿蒙Next中部分系统反射ConnectivityManager出现异常 同样的代码,在HarmonyOS 3.0.0系统中,有的手机能反射成功,有的却出现异常:
java.lang.NoSuchFieldException: No field sCallbacks in class Landroid/net/ConnectivityManager; (declaration of 'android.net.ConnectivityManager' appears in /apex/com.android.tethering/javalib/framework-connectivity.jar)
反射代码如下:
val builder = StringBuilder()
try {
val connectivityManager =
PorosApplication.instance.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val field = connectivityManager::class.java.getDeclaredField("sCallbacks")
field.isAccessible = true
val callbacks = field.get(null)
val map: HashMap<NetworkRequest, ConnectivityManager.NetworkCallback> =
callbacks as HashMap<NetworkRequest, ConnectivityManager.NetworkCallback>
builder.append("callback size: ").append(map.values.size).append("\n")
map.values.forEachIndexed { index, networkCallback ->
builder.append(index).append(": ").append(networkCallback::class.java.name)
.append("\n")
}
} catch (e: Exception) {
builder.append("exception: ").append(e).append("\n")
}
builder.append("end")
更多关于HarmonyOS鸿蒙Next中部分系统反射ConnectivityManager出现异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
您好,请您通过在线提单进一步解决: https://developer.huawei.com/consumer/cn/support/feedback/#/, 感谢您的反馈和支持。
更多关于HarmonyOS鸿蒙Next中部分系统反射ConnectivityManager出现异常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html