GPS android ausschalten [duplizieren]

Mögliche Duplikate:
So aktivieren Sie GPS programmgesteuert in Android Cupcake

Ich schreibe gerade eine App für Android, die mit dem GPS funktioniert. Im Moment kann ich herausfinden, ob das GPS aktiviert ist. Mein Problem ist, dass ich das GPS beim Start der App aktivieren möchte, wenn es deaktiviert ist. Wie kann ich das programmieren? Außerdem möchte ich Funktionen erstellen, die das GPS ein- und ausschalten. Ich habe alle Threads im Stackoverflow darüber gelesen, aber alle Funktionen, die ich ausprobiert habe.

kann mir jemand mit einer funktionierenden Funktion helfen, um GPS zu aktivieren oder zu deaktivieren?

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

Anfangs habe ich diese Funktionen benutzt:

 private void turnGPSOn(){
        String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);

        if(!provider.contains("gps")){ //if gps is disabled
            final Intent poke = new Intent();
            poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider"); 
            poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
            poke.setData(Uri.parse("3")); 
            sendBroadcast(poke);
        }
    }

    private void turnGPSOff(){
        String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);

        if(provider.contains("gps")){ //if gps is enabled
            final Intent poke = new Intent();
            poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
            poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
            poke.setData(Uri.parse("3")); 
            sendBroadcast(poke);
        }
    }

dann habe ich versucht zu benutzen:

ENABLE GPS:

Intent intent=new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", true);
sendBroadcast(intent);
DISABLE GPS:

Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", false);
sendBroadcast(intent);

beide arbeiten nicht für mich

Hat jemand eine Idee?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage