我正在尝试将sims状态打印到屏幕上。目前我似乎无法让它发挥作用。 如果SIM卡被锁定,我希望能够打印。
我一直在使用此代码
TelephonyManager manager = (TelephonyManager) Context.getSystemService(Context.TELEPHONY_SERVICE);
int state = manager.getSimState();
answer1.setText(state);
但LogCat输出是
错误/ AndroidRuntime(213):未捕获的处理程序:由于未捕获的异常而导致主线程退出 ERROR / AndroidRuntime(213):java.lang.RuntimeException:无法启动活动ComponentInfo {com.q.m / com.q.m.Q}:java.lang.NullPointerException ERROR / AndroidRuntime(213):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401) ERROR / AndroidRuntime(213):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417) 错误/ AndroidRuntime(213):在android.app.ActivityThread.access $ 2100(ActivityThread.java:116) 错误/ AndroidRuntime(213):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1794) 错误/ AndroidRuntime(213):在android.os.Handler.dispatchMessage(Handler.java:99) 错误/ AndroidRuntime(213):在android.os.Looper.loop(Looper.java:123) 错误/ AndroidRuntime(213):在android.app.ActivityThread.main(ActivityThread.java:4203) ERROR / AndroidRuntime(213):at java.lang.reflect.Method.invokeNative(Native Method) ERROR / AndroidRuntime(213):at java.lang.reflect.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) 错误/ AndroidRuntime(213):at dalvik.system.NativeStart.main(Native Method) ERROR / AndroidRuntime(213):引起:java.lang.NullPointerException ERROR / AndroidRuntime(213):at com.q.m.Q.onCreate(Q.java:77) ERROR / AndroidRuntime(213):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) 错误/ AndroidRuntime(213):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364) 错误/ AndroidRuntime(213):... 11更多
第77行是
TelephonyManager manager =(TelephonyManager)
行
答案 0 :(得分:0)
您似乎将int传递给需要字符串的函数。
替换
answer1.setText(state);
与
answer1.setText(Integer.toString(state));
答案 1 :(得分:-1)
您应该检查您是否在清单文件中设置了READ_PHONE_STATE权限,并且还要调用
answer.setText(state)
你正在调用TextView的
setText(int resId)
方法,它正在查找带有提供的id的文本资源。