我正在尝试获取一个电话对象,以便我可以在我的应用程序中呼叫和召开两个号码.
我试过使用静态PhoneFactory.makeDefaultPhones((Context)this)但没有运气.
String phoneFactoryName = "com.android.internal.telephony.PhoneFactory";
String phoneName = "com.android.internal.telephony.Phone";
Class phoneFactoryClass = Class.forName(phoneFactoryName);
Class phoneClass = Class.forName(phoneName);
Method getDefaultPhone = phoneFactoryClass.getMethod("getDefaultPhone");
Object phoneObject = getDefaultPhone.invoke(null);
Run Code Online (Sandbox Code Playgroud)
错误 - 由java.lang.RuntimeException引起:必须从Looper线程调用PhoneFactory.getDefaultPhone
icy*_*sor 10
是的,它可以实例化.但你必须克服几个障碍:
在你的AndroidManifest.xml集合中
机器人:sharedUserId = "android.uid.phone"
在<manifest>标签内.这是防止SecurityException在受保护的Intents由您可能调用的方法(如android.intent.action.SIM_STATE_CHANGED)发送时被抛出的必要条件.
组
机器人:过程= "com.android.phone"
在你的<application>标签.这是允许调用getDefaultPhone()/ 所必需的makeDefaultPhone().
要完成所有这些操作,您的应用必须使用系统签名密钥进行签名.
我正在尝试获取一个电话对象,以便我可以从应用程序中呼叫和会议两个号码。
这在 SDK 中是不可能的。
我尝试过使用静态 PhoneFactory.makeDefaultPhones((Context)this) 但没有任何运气。
SDK 中没有这个。请不要超出 SDK 的范围。
错误 - 由 java.lang.RuntimeException 引起:必须从 Looper 线程调用 PhoneFactory.getDefaultPhone
那是因为您正在尝试从后台线程做您不应该做的事情。
| 归档时间: |
|
| 查看次数: |
16937 次 |
| 最近记录: |