我正在制作一个应用程序,我必须在其中检查设备是否处于飞行模式,并且我正在使用以下代码,它是空指针异常。我的代码如下:
public static boolean isAirplaneModeOn(Context context)
{
System.out.println("test1");
return Settings.System.getInt(context.getContentResolver(),Settings.System.AIRPLANE_MODE_ON, 0) != 0;
}
/**
*
* @param status
*/
public void setAirplaneMode(Context context,boolean status)
{System.out.println("test111");
boolean isAirplaneModeOn = isAirplaneModeOn(context);// **null pointer exception**
if(isAirplaneModeOn && status)
{
return;
}
if(!isAirplaneModeOn && !status)
{
return;
}
if(isAirplaneModeOn && !status)
{
Settings.System.putInt(getApplicationContext().getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", 0);
getApplicationContext().sendBroadcast(intent);
return;
}
if(!isAirplaneModeOn && status)
{
Settings.System.putInt(getApplicationContext().getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 1);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", 1);
getApplicationContext().sendBroadcast(intent);
return;
}
}
谁能告诉我如何获得mAirplaneEnabled标志值?
我的logcat如下:
03-13 14:57:04.507: I/System.out(9185): test111
03-13 14:57:04.507: I/System.out(9185): test1
03-13 14:57:04.515: I/System.out(9185): java.lang.NullPointerException