2011-10-25 11 views
2

アプリケーションでGPSをオン/オフすることはできますか?電池の消耗が多いので、しばらくオフにすることはできますか? ORこのためのより良い解決策がある.....AndroidがGPSをオフにする

答えて

2

あなたはそれを自分でオン/オフすることはできません

locationManager.removeUpdates(myLocationListener); locationManager = null; 
0

私はセキュリティ対策として、アンドロイドシステムはユーザーのためのgpsをオンとオフにすることはできませんと思う(アンドロイド2.0の私は思う) 。アップデートの取得をやめたり、gpsの使用をやめたり(他のアプリケーションがそれを使用している場合を除く)、ユーザーはそれをオフにするように頼むことができます。

0

アプリケーションでGPSイベントの受信を停止することができます(アプリケーションでGPSが使用されている場合)。たとえば、LocationManager.removeUpdatesを使用して、 となります。

OSレベルでGPSを「オフ」にしたい場合は、プログラムではできないと思います。

3

あなたが(多分トーストを使用して)、これを行うには、ユーザーに尋ねる、これは何をするか

if(!LocationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) 
{ 
    Intent myIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); 
    startActivity(myIntent); 
} 
+0

この活動を開始? – user533844

+0

これは、ユーザーがGPSを無効にできる設定画面を起動するはずです。 – Reno

+0

oh ok .....良い考え.... – user533844

1
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); 
    } 
} 
関連する問題