ADBまたはターミナルエミュレータを介して位置情報サービス(GPSまたはGoogle NetworkLocation)を有効にすることは可能ですか?私は根ざした電話にいます。
余分なポイント:他のシステム関連の設定を変更することもできますか?
ADBまたはターミナルエミュレータを介して位置情報サービス(GPSまたはGoogle NetworkLocation)を有効にすることは可能ですか?私は根ざした電話にいます。
余分なポイント:他のシステム関連の設定を変更することもできますか?
回答:
ADBまたはターミナルエミュレータを介して位置情報サービス(GPSまたはGoogle NetworkLocation)を有効にすることは可能ですか?
コマンドは次のとおりです。
adb shell settings put secure location_providers_allowed gps
どこ、
settings
settings.db
(の一部com.android.providers.settings
)に変更を加えますput
テーブルのlocation_providers_allowed
値gps
でキーを更新することsecure
です。前述のコマンドでは、Googleの位置情報サービスは有効になりません。同様に有効にするには、次のコマンドを発行します。
adb shell settings put secure location_providers_allowed gps,network
位置情報サービスに同意するポップアップが表示されます。Android 4.2.1では、GUIを使用するかinput keyevent
、最初からサービスを有効にするたびに同意する必要があります。
ただし、私のAndroid 5.0では、ダイアログの設定を保存でき、コマンドを実行すると、次回から完全に完了します。
Lollipopなどの一部のデバイスには3つのロケーションモードがあり、前述のコマンドで渡される関連する値は次のとおりです。
gps,wifi,network
またはgps,network
(Wi-Fiを有効にしたくない場合)wifi,network
またはnetwork
のみgps
adb shell settings put secure location_providers_allowed ' '
他のシステム関連の設定を変更することもできますか?
見る :
しかし、私はすでにを使用して大きなアイデアを与えましたsettings put
。
location_providers_allowed
非推奨になっていることと関係がある可能性があります(developer.android.com/reference/android/provider/…)。アイデア?
adb shell am start -a android.settings.LOCATION_SOURCE_SETTINGS
、次に切り替えボタンをクリックします。
Android 6.0の場合
使用を有効にするには:
GPSの場合: adb shell settings put secure location_providers_allowed +gps
ネットワーク用: adb shell settings put secure location_providers_allowed +network
無効にするには:
GPS : adb shell settings put secure location_providers_allowed -gps
ネットワーク用: adb shell settings put secure location_providers_allowed -network
Androidロケーションサービスにはさまざまなオプションがあります。
1)高精度: gps, network
有効にする:
adb shell settings put secure location_providers_allowed +gps,network
無効にする:
adb shell settings put secure location_providers_allowed -gps,network
2)電話のみ: gps
有効にする:
adb shell settings put secure location_providers_allowed +gps
無効にする: adb shell settings put secure location_providers_allowed -gps
3)バッテリー節約: network
有効にする:
adb shell settings put secure location_providers_allowed +network
無効にする: adb shell settings put secure location_providers_allowed -network
location_providers_allowed
Android 10(APIレベル29)では動作しなくなりました。
代わりに、設定することができますlocation_mode
にLOCATION_MODE_HIGH_ACCURACY
3の値を持ちます:
adb shell settings put secure location_mode 3
注:ロケーションモードに関するドキュメントで言及されているように、これは既に非推奨であるため、おそらくv29では機能しません。
この定数は、APIレベル28で廃止されました。ロケーションモードを確認し、変更をリッスンするための推奨されるメソッドは、
LocationManager#isLocationEnabled()
およびを介した方法ですLocationManager#MODE_CHANGED_ACTION
。
この定数が消えると、シェルを介してこれを行うプログラム的な方法がどうなるかわかりません。