2013-05-14 7 views
6

ほとんどの場合、ユーザーの場所を知る必要があるアプリがあります。私は場所にアクセスする必要がある場合Wi-Fiをオンにするようにユーザーに依頼する

、私はこれを行う:

final AlertDialog.Builder builder = new AlertDialog.Builder(
         MapScreen.this); 
builder.setTitle("MyAppName"); 
builder.setMessage("The location service is off. Do you want to turn it on?"); 
       builder.setPositiveButton("Enable location", 
         new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(
            final DialogInterface dialogInterface, 
            final int i) { 
           startActivity(new Intent(
             android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS)); 
          } 
         }); 
builder.setNegativeButton("Continue without location", null); 
builder.create().show(); 

しかし、GPSは、私には十分常に正確ではありませんいくつかの情報を提供します。 Wi-Fiは常に私に十分な前哨を与えるので、私は場所をオンにするのと同じ方法でユーザーにWi-Fiをオンにするように頼みたい。私はそれをオンにしたくない、私はそれについて通知され、手動で有効にしたい。

ユーザーにWiFiメニューを送信する意図はありますか?設定の完全なリストについては

startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS)); 

+1

あなたもこれを試すことができます[Wi-Fiを有効にする](http://stackoverflow.com/a/5674685/1083388) –

答えて

11

を試すことができますが、このようなのWi-Fi、Bluetoothおよびモバイルネットワークなどのワイヤレス設定を示しhttps://developer.android.com/reference/android/provider/Settings.html

startActivityメソッドのドキュメント: https://developer.android.com/reference/android/app/Activity.html#startActivity(android.content.Intent)

(心startActivityておくだけで、おそらくこのような場合には必要ありません、あなたは、ユーザーがそこに何をしたかの応答をキャプチャしたい場合は、代わりにstartActivityForResultを呼び出すことができ、投げると忘れている)

+1

ありがとう!設定の完全なリストのために受け入れられた答え;-) – razielsarafan

+0

あなたは歓迎です:) –

3

あなたが意図続い

Intent i = new Intent(Settings.ACTION_WIRELESS_SETTINGS); 
       startActivity(i); 
+0

ありがとう!アップされた – razielsarafan

2

前の答えはquottingました"Settings.ACTION_WIRELESS_SETTINGS"ですが、一般的なワイヤレス接続の設定を開くようになっているので、あまりにも一般的ですが、質問はWi-Fiについてのみです。

Intent turnWifiOn = new Intent(Settings.ACTION_WIFI_SETTINGS); 
startActivity(turnWifiOn); 

注意次のように私は「Settings.ACTION_WIFI_SETTINGS」を使用しています:それだけではなく、ダイアログが、活動を開くことはないだろうが。

関連する問題