Я делаю приложение, в котором я должен проверить, находится ли устройство в режиме полета или нет, и я использую следующий код, и это исключение нулевого указателя. Мой код выглядит следующим образом:
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