我是Android的新手。
我正在编写SIM ToolKit(STK)的仪器测试
我需要使用仅在PhoneBase接口中可用的CommandsInterface。 一旦我有了手机,我想使用以下一行:
private Phone mPhone;
private Context mContext;
private Handler mHandler;
private CommandsInterface mCmdIf;
private PhoneBase mPhoneBase;
mPhoneBase = ((PhoneBase)mPhone); <==== uncaught exception
mCmdIf = mPhoneBase.mCM;
它编译成功,但是给出了未捕获的异常(group = 0x4001b188) 请告知如何克服这个问题。 提前致谢 米莎
答案 0 :(得分:2)
您不能直接使用PhoneBase
,因为它是Android中的内部版,在SDK
中不可见。您可以使用logcat检查异常消息。
来自源代码:
/**
* (<em>Not for SDK use</em>)
* A base implementation for the com.android.internal.telephony.Phone interface.
*
* Note that implementations of Phone.java are expected to be used
* from a single application thread. This should be the same thread that
* originally called PhoneFactory to obtain the interface.
*
* {@hide}
*
*/
我不知道mCM是什么,但我想你可以从TelephonyManager获得这些信息。你可以做到这一点
Context.getSystemService(Context.TELEPHONY_SERVICE);