Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何检查处于服务状态的手机_Android - Fatal编程技术网

Android 如何检查处于服务状态的手机

Android 如何检查处于服务状态的手机,android,Android,我正在开发一个应用程序,我在其中检查手机的服务状态,但当手机处于飞行模式时,它没有响应,或者手机没有sim卡,然后它也不工作。plz帮助我代码如下 TelephonyManager telMng=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); telMng.listen(new PhoneStateListener(){ @Override

我正在开发一个应用程序,我在其中检查手机的服务状态,但当手机处于飞行模式时,它没有响应,或者手机没有sim卡,然后它也不工作。plz帮助我代码如下

TelephonyManager telMng=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
        telMng.listen(new PhoneStateListener(){

                     @Override
                public void onServiceStateChanged (ServiceState serviceState){
                  super.onServiceStateChanged(serviceState);
                  String phonestate;
                 switch(serviceState.getState())
                  {
                 case ServiceState.STATE_IN_SERVICE:

                     Toast.makeText(getApplicationContext(), "phone is in service", Toast.LENGTH_LONG).show();
                     break;
                 case ServiceState.STATE_OUT_OF_SERVICE:
                     Toast.makeText(getApplicationContext(), "Phone is not in Service state", Toast.LENGTH_LONG).show();
                     break;
                     default:phonestate="Unknown";
                  }
                 /*

                  switch(serviceState.getState()){
                  case ServiceState.STATE_EMERGENCY_ONLY: phonestate ="STATE_EMERGENCY_ONLY"; ;break;
                  case ServiceState.STATE_IN_SERVICE: phonestate ="STATE_IN_SERVICE"; ;break;
                  case ServiceState.STATE_OUT_OF_SERVICE: phonestate ="STATE_OUT_OF_SERVICE"; ;break;
                  case ServiceState.STATE_POWER_OFF: phonestate ="STATE_POWER_OFF"; ;break;
                  default:phonestate = "Unknown";
                  } 
                  */  
            } 
        },  
        PhoneStateListener.LISTEN_SERVICE_STATE);

    }  
                                                                                                                                              i tried above code but its not working when phone is in flight mode or have not sim insert inside the phone what should i do plz help 

提前感谢

检查手机是否处于飞行模式,如果有sim卡,请查看此链接

飞机模式链接:

SIM卡链接:

检查手机是否处于飞行模式,如果有sim卡,请查看此链接

飞机模式链接:

SIM卡链接:

以上答案不正确,因为它只会告诉您sim卡是否在使用,而不会告诉您sim卡是否在使用

listen(PhoneStateListener(){…},PhoneStateListener.listen\u服务\u状态)


应立即并定期检查服务状态。如果混合使用sim卡状态和服务状态,您将得到错误的结果——您将退出服务,但sim卡状态仍将准备就绪。

以上不是正确答案,因为它只告诉您sim卡是否处于服务状态,而不告诉您sim卡是否处于服务状态

listen(PhoneStateListener(){…},PhoneStateListener.listen\u服务\u状态)


应立即并定期检查服务状态。如果混合使用sim卡状态和服务状态,您将得到错误的结果——您将退出服务,但sim卡状态仍将准备就绪。

谢谢@DevfaR它现在可以工作了。再次感谢我那令人心碎的一票。这不是正确的答案。这只会告诉您sim卡是否已插入,而不会告诉您sim卡是否处于服务状态。谢谢@DevfaR,它正在工作。再次感谢我那令人心碎的一票。这不是正确的答案。这只会告诉您sim卡是否已插入,而不会告诉您sim卡是否正在使用