Android获取Sim State

我正试图将模拟状态打印到屏幕上。 目前我似乎无法完成它的工作。 我想要做的就是打印一张SIM卡是否被锁定。

我一直在使用这个代码

    TelephonyManager manager = (TelephonyManager) Context.getSystemService(Context.TELEPHONY_SERVICE);
    int state = manager.getSimState();
    answer1.setText(state);

但LogCat输出是

ERROR / AndroidRuntime(213):未捕获的处理程序:由于未捕获的异常而导致主线程退出ERROR / AndroidRuntime(213):java.lang.RuntimeException:无法启动活动ComponentInfo {com.qm / com.qmQ}:java.lang.NullPointerException错误/ AndroidRuntime(213):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)错误/ AndroidRuntime(213):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)错误/ AndroidRuntime(213) :at android.app.ActivityThread.access $ 2100(ActivityThread.java:116)ERROR / AndroidRuntime(213):at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1794)ERROR / AndroidRuntime(213):at android .os.Handler.dispatchMessage(Handler.java:99)ERROR / AndroidRuntime(213):at android.os.Looper.loop(Looper.java:123)ERROR / AndroidRuntime(213):at android.app.ActivityThread.main (ActivityThread.java:4203)ERROR / AndroidRuntime(213):at java.lang.reflect.Method.invokeNative(Native Method)ERROR / AndroidRuntime(213):at java.lang.re flect.Method.invoke(Method.java:521)ERROR / AndroidRuntime(213):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:791)ERROR / AndroidRuntime(213):at com。 android.internal.os.ZygoteInit.main(ZygoteInit.java:549)ERROR / AndroidRuntime(213):at dalvik.system.NativeStart.main(Native Method)ERROR / AndroidRuntime(213):引起:java.lang.NullPointerException错误/ AndroidRuntime(213):在com.qmQonCreate(Q.java:77)错误/ AndroidRuntime(213):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)错误/ AndroidRuntime(213):在android。 app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)ERROR / AndroidRuntime(213):... 11更多

77行是

TelephonyManager管理器=(TelephonyManager)

线


你似乎将一个int传递给一个需要字符串的函数。

更换

answer1.setText(state);

answer1.setText(Integer.toString(state));


您应该检查您是否已经在Manifest文件中设置权限READ_PHONE_STATE,并且还要调用

    answer.setText(state)

你正在调用TextView的

    setText(int resId)

方法,它使用提供的ID查找文本资源。

链接地址: http://www.djcxy.com/p/31423.html

上一篇: Android Get Sim State

下一篇: How to create a circular ImageView in Android?