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 
+0

你不应该使用System.out在Android,开始 – njzk2 2012-03-13 09:23:06

+0

确定njzk2,但你帮我在我的问题 – Aditya1510 2012-03-13 09:26:17

+1

首先看看你的NPE是什么是空的。然后解释你正在寻找的这个mAirplaneEnabled标志值是什么。 – njzk2 2012-03-13 09:27:44

的NPE是由于上下文语境,因为空是这里v.so的代码片段很可能低于:

public boolean isAirplaneModeOn(Context context) 
      { 

      return Settings.System.getInt(ClassName.this.getContentResolver(),Settings.System.AIRPLANE_MODE_ON, 0)!=0; 

      }