wyłączyć GPS GPS [duplikat]

Możliwy duplikat:
Jak programowo włączyć GPS w Android Cupcake

Obecnie piszę aplikację na Androida, która współpracuje z GPS. W tej chwili jestem w stanie ustalić, czy GPS jest włączony. Mój problem polega na tym, że chcę włączyć GPS przy uruchamianiu aplikacji, jeśli jest wyłączona. Jak mogę to zrobić programowo? chcę też tworzyć funkcje, które włączają i wyłączają GPS, czytam wszystkie wątki na stackoverflow o tym, ale wszystkie funkcje, które próbowałem, dostały „niestety twoja aplikacja musi się zatrzymać” (nie zapomniałem dodać uprawnień)

czy ktoś może mi pomóc z działającą funkcją włączania lub wyłączania GPS?

<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" />

na początku użyłem tych funkcji:

 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);
        }
    }

wtedy spróbowałem użyć:

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);

obie nie pracują dla mnie

każdy ma pomysł?

questionAnswers(1)

yourAnswerToTheQuestion