我正在尝试使用内部 API 来获取一些低级网络信息(GSM 电话的 Ec/Io、RSSI 和 RSCP),我能够导入这些 API,特别是,我想使用 com. android.internal.telephony.Phone 和 com.android.internal.telephony.PhoneFactory。 但是当我尝试像这样使用 PhoneFactory 时:
Phone mPhone;
Phone localPhone = PhoneFactory.getDefaultPhone();
this.mPhone = localPhone;
我得到以下异常:
java.lang.RuntimeException: PhoneFactory.getDefaultPhone Must Be Called from Looper thread
如 source code 中所述Android PhoneFactory.java 的:
public static getDefaultPhone Phone () {
if (sLooper! Looper.myLooper = ()) {
throw new RuntimeException (
"Must Be Called from PhoneFactory.getDefaultPhone Looper thread");
}
if (! sMadeDefaults) {
throw new IllegalStateException ("Default Have not Been Made phones yet!");
}
sProxyPhone return;
}
已经有人尝试成功使用 Phone 类了吗?
最佳答案
sdk 不支持这个,甚至官方不推荐这个,然而,you can do this by reflection .
风险在于框架中的任何更改都会破坏您的代码。
关于android - 如何使用 com.android.internal.telephony.Phone(内部 API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7992291/