2012-03-12 2 views
0

비행기 모드가 활성화되어있을 때 팝업을 표시하고 싶은 앱을 만들고 있지만 다음 코드를 사용하면 내 앱이 비행기 모드로 전환됩니다. 내 기기가 비행기 모드로 전환됨을 의미합니다. . 비행기 모드가 활성화되어 있다면 원하는대로 장치는 팝업 만 제공해야합니다. 내 코드는 다음과 같습니다 :안드로이드에서 비행기 모드 구현

public void airplane() { 
    final boolean isEnabled = Settings.System.getInt(
       getContentResolver(), 
       Settings.System.AIRPLANE_MODE_ON, 1) == 0; 

     // toggle airplane mode 
     Settings.System.putInt(
       getContentResolver(), 
       Settings.System.AIRPLANE_MODE_ON, isEnabled ? 0: 1); 


     // Post an intent to reload 
    // Toast tt=Toast.makeText(getApplicationContext(), "Your phone is in airplane mode", Toast.LENGTH_SHORT); 
    // tt.show(); 
     Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); 
     intent.putExtra("state", isEnabled); 
     sendBroadcast(intent); 

     IntentFilter intentFilter = new IntentFilter("android.intent.action.SERVICE_STATE"); 

     BroadcastReceiver receiver = new BroadcastReceiver() { 
       @Override 
       public void onReceive(Context context, Intent intent) { 
        Log.d("AirplaneMode", "Service state changed"); 
       } 
     }; 

     context.registerReceiver(receiver, intentFilter); 

    } 

답변

0

내 생각 엔 부울 코드의 정수가 올바르지 않습니다.

시도 :

내가 코드를 사용하지만, 그것은 그렇게 할 것
+0

. 그것이 '비행기 모드 전환'섹션의 목적입니다. 비행기 모드 상태를 토글하지 않으려면 해당 비트를 제거하십시오. –

+0

가 비행기 모드에없는 경우는, 비행기 모드로 내 응용 프로그램을 필요

final boolean isEnabled = (Settings.System.getInt( getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 1)) != 0; 
deed02392

+0

그럼 어떻게해야합니까? –

관련 문제