2012-04-06 16 views
0

Ich hatte bestimmten Code geschrieben, so dass meine Android-App in den Flugzeugmodus gehen sollte und wieder in den verbundenen Modus mit dem Netzwerk für einige Zeit, bis ich die Anwendung gewaltsam schließen. Es funktioniert mit dem Code, den ich geschrieben hatte, aber das Problem ist, dass der Bildschirm oder das Display das Flugsymbol nicht zeigt. Wenn ich zu den Einstellungen gehe, kann ich sehen, dass der Code den Flugzeugmodus richtig aktiviert und deaktiviert.Android Flugmodus kontinuierlich wechseln

Kann mir bitte jemand eine Lösung dafür geben.

Mein Code ist wie

public class Airplane_ModeActivity extends Activity implements Runnable{ 

    private static final int SLEEP_TIME_VALUE = 10000; 
    private static Context context; 
    private static ContentResolver contentResolver; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     context = getApplicationContext(); 
     contentResolver = context.getContentResolver(); 

     Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); 
     intent.putExtra("state", false); 
     sendBroadcast(intent); 
     Runnable runnable = new Airplane_ModeActivity(); 
     Thread thread = new Thread(runnable); 
     thread.start(); 
     } 

     public void run(){ 
     while(true)  { 

      while(0==Settings.System.getInt(contentResolver, Settings.System.AIRPLANE_MODE_ON, 0)) { 

       Settings.System.putInt(contentResolver, Settings.System.AIRPLANE_MODE_ON, 1); 

       try { 
        Thread.sleep(SLEEP_TIME_VALUE); 

       } 
       catch (InterruptedException ie) { 

       } 
      } 
      try { 
       Thread.sleep(SLEEP_TIME_VALUE); 
      } 
      catch (InterruptedException ie) { 
      } 

     while(1==Settings.System.getInt(contentResolver, Settings.System.AIRPLANE_MODE_ON, 1)) { 


      Settings.System.putInt(contentResolver, Settings.System.AIRPLANE_MODE_ON, 0); 

      try { 

       Thread.sleep(SLEEP_TIME_VALUE); 
      } 
      catch (InterruptedException ie) { 

      } 

     } 
     try { 
      Thread.sleep(SLEEP_TIME_VALUE); 

     } 
     catch (InterruptedException ie) { 

     } 
    } 
     } 
    } 
+0

ist es zu beeinflussen, was Sie erreichen wollen? anderes als das Symbol an der Spitze.Dies passiert manchmal mit WLAN auch, aber es hat keinen Einfluss auf meine Ausgabe in keiner Weise –

+0

ja. Beim Ausführen der App und wenn ich zu den Einstellungen gegangen bin und sehe konnte ich deutlich sehen, dass das Kontrollkästchen für den Flugzeugmodus aktiviert und deaktiviert wird .., aber das i con in der Benachrichtigungsleiste zeigt nicht an, dass das Telefon im Flugzeug ist Modus. –

Antwort

0
boolean isEnabled = Settings.System.getInt(thisActivity.getContentResolver(),Settings.System.AIRPLANE_MODE_ON, 0) == 1; 
         Settings.System.putInt(thisActivity.getContentResolver(),Settings.System.AIRPLANE_MODE_ON,isEnabled ? 0 : 1); 
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); 
intent.putExtra("state", !isEnabled); 
sendBroadcast(intent); 

prüfen mit diesem folgt., Ich denke, das wird Ihnen helfen ..

+0

Ich denke nicht, dass dies meine Anforderung erfüllt ... Überprüfen Sie meine Anforderung erneut posten Sie Ihre Ansicht Kumpel, wie Sie nur meine App in den Flugzeugmodus einstellen. Aber ich möchte den verbundenen Modus und wieder in den Flugzeugmodus (Flugmodus) kontinuierlich . –

Verwandte Themen