2012-03-13 17 views
0

飛行機モードであるかどうかをチェックする必要があるアプリを作っています。私はフォローコードを使用しています。これはヌルポインタ例外です。アンドロイド:飛行機モードのヌルポインタ例外

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

+0

ok njzk2しかし、あなたは私の問題で助けてください – Aditya1510

+1

あなたのNPEでヌルであることを探すことから始まります。あなたが探しているこのmAirplaneEnabledフラグ値が何であるかを説明してください。 – njzk2

答えて

0

コンテキストは、コードスニペットv.soここnullであるため、NPEは、文脈によるもので、以下の可能性があります:

public boolean isAirplaneModeOn(Context context) 
      { 

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

      } 
関連する問題