android:在飞行模式下的空指针异常
问题描述:
我正在制作一个应用程序,在该应用程序中我必须检查设备是否处于飞行模式,并且我正在使用follwing代码并且它是空指针异常。我的代码如下所示:android:在飞行模式下的空指针异常
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
答
的NPE是由于上下文语境,因为空是这里v.so的代码片段很可能低于:
public boolean isAirplaneModeOn(Context context)
{
return Settings.System.getInt(ClassName.this.getContentResolver(),Settings.System.AIRPLANE_MODE_ON, 0)!=0;
}
你不应该使用System.out在Android,开始 – njzk2 2012-03-13 09:23:06
确定njzk2,但你帮我在我的问题 – Aditya1510 2012-03-13 09:26:17
首先看看你的NPE是什么是空的。然后解释你正在寻找的这个mAirplaneEnabled标志值是什么。 – njzk2 2012-03-13 09:27:44