2012-02-09 11 views
2

Android 4.0で位置情報サービスをプログラマチックに有効にしたり無効にしたりできるかどうかを知りたいですか?ICSで位置情報サービスをプログラム的に有効または無効にする(有効または無効にする)方法はありますか?

以前のバージョンのAndroidでこれを行う方法がいくつか見つかりました(たとえば、thisが最も一般的なリンクです)。しかし、これらのアプローチはAndroid ICSでは機能しません。

また、私はアプリケーションでこれを行うべきではないことを理解していますが、たとえば、デフォルトのウィジェットではこれが行われます。

可能かどうか誰にも明確にすることができますか?

答えて

2

私が開発した小さなアプリでは、MyLocationOverlayの位置を無効にするだけでGPSをオフにします。もちろん、このクラスはGoogle APIに属しているため、Googleからマップを使用している場合にのみ機能します。

myLocationOverlay.disableMyLocation(); 

私はonStop()メソッドにラインを配置し、それが現在有効になっている場合に限ります。私のアプリがバックグラウンドになるたびに、GPSは自動的にオフになります。

希望します。

+0

いいえ、GPSを有効にする方法と無効にする方法があります。私のアプリケーションは、追加のオーバーレイなしで動作するはずです。アプリケーションのアイデアは次のとおりです。アプリケーションの開始時にGPSが有効になっているかどうかを確認したいのですが(GPSプロバイダが必要です)、有効でない場合は有効にします。最後に、GPSを無効にしたい(アプリケーションが起動する前に無効になっている場合)。しかし、あなたの答えをありがとう! – Yury

2

gpsデバイスを有効または無効にできますが、ユーザーはウィジェットの設定で確認する必要があります。 解決方法はthisです。

+0

質問をより慎重にお読みください。ユーザーをページにリダイレクトすることは問題ではなく、ページを手動で無効にすることができます。 – Yury

+0

ありがとうございました! 私はそれを研究しましたが、通常の許可でプログラムを有効にすることはできません。 私の英語はあまりよくないので大変申し訳ありません! –

1
LocationManager L = (LocationManager) getSystemService(LOCATION_SERVICE); 

if (!L.isProviderEnabled(LocationManager.GPS_PROVIDER)) { 
    Intent I = new Intent( 
       android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); 
     startActivity(I); 
} 
関連する問題