2014-04-05 11 views
10

Wiem. Nie rób tego. Nie obchodzi mnie to. Jest to aplikacja root.Przełącz GPS programowo Android 4.4

Aplikacja jest instalowana na /system/app/ z 0777 zgody

byłem poprzednio przy użyciu:

ContentResolver cr = context.getContentResolver(); 
Settings.Secure.setLocationProviderEnabled(cr, LocationManager.GPS_PROVIDER, !isGpsOn); 

ten sposób próbuję go na 4,4 ponieważ była przestarzała:

int value; 
if (isGpsOn)value = Settings.Secure.LOCATION_MODE_OFF; 
     else value = Settings.Secure.LOCATION_MODE_HIGH_ACCURACY; 
Settings.Secure.putInt(cr, Settings.Secure.LOCATION_MODE, value); 

To jest po cichu (zgodnie z niektórymi raportami użytkownika). Jak właściwie przełączyć GPS z Androidem 4.4 z aplikacji w folderze System?

+12

lubię swoje intro. Ma nastawienie. Dobry rodzaj. – keyser

+0

Nie możesz. Dlatego cicho zawodzi. – ChuongPham

+0

@ChuongPham, nie mogę tego zaakceptować, ponieważ aplikacje systemowe mogą przełączać GPS (tj. Ustawienia). Musi istnieć sposób, aby moja aplikacja działała w taki sam sposób, jak aplikacja systemowa. (Ja też nie mam urządzenia 4.4 do przetestowania, albo też mogłem to rozgryźć). – Jakar

Odpowiedz

4

Nie rób tego. :)

sprawdzić kod na GPS TOGGLER

widget kolanowej GPS dla Androida zakorzenione urządzeń. To dobrze, nawet dla tych ROM i jądra, inne oprogramowanie nie powiodło się.

z kodem, tylko sprawdzenie:
Nadzieję ogłosił następujące uprawnienia w swojej oczywistej:

<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/> 

używałem tego na zakorzenionej LG Optimus Android 4.0/4.1. Podobno to nie mogą już pracować, ale nie jestem pewien o tym wszystkich urządzeń i o.s .:

przełącznika to ON/OFF z czekiem flagi i ten kod:

try { 
    Settings.Secure.putString (context.getContentResolver(), 
    Settings.Secure.LOCATION_PROVIDERS_ALLOWED, String.format ("%s,%s", 
    Settings.Secure.getString (context.getContentResolver(), 
    Settings.Secure.LOCATION_PROVIDERS_ALLOWED), LocationManager.GPS_PROVIDER)); 
     } catch(Exception e) {} 
+0

Nie miałem okazji przetestować, ale wydaje się to obiecujące. Dziękuję za odpowiedź. – Jakar

+0

Tasker i Power Toggles mogą to zrobić z samym rootem, bez potrzeby korzystania z aplikacji systemowej. Ktoś wie, jak są w stanie to osiągnąć? – Flyview

Powiązane problemy