80

通常、をクリックするとエミュレータのWi-Fi設定画面が表示されますSettings > Wireless controls > wifi settings。作成したWi-Fiボタンを押すと、プログラムから直接Wi-Fi設定画面に移動する必要があります。Intent.setData(android.provider.contacts ...........)を使用して処理できる連絡先、通話ログ。Androidプログラムから設定サブメニュー/メニューを開く方法はありますか?
これに関するアドバイスまたはサンプルコードを教えてください。

4

9 に答える 9

167

さまざまな設定画面を起動するために使用できるandroid.provider.Settings一連のアクションについては、 を参照してください(例: )。IntentACTION_WIFI_SETTINGS

編集:コーディング行を追加します。

startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));

于 2010-02-23T14:25:26.650 に答える
30

ConnectivityManager manager = (ConnectivityManager) 
        getSystemService(MainActivity.CONNECTIVITY_SERVICE);
/*
 * 3G confirm
 */
Boolean is3g = manager.getNetworkInfo(
        ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
/*
 * wifi confirm
 */
Boolean isWifi = manager.getNetworkInfo(
        ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
if (is3g) {
    textView.setText("3G");
} else if (isWifi) {
    textView.setText("wifi");
} else {
    textView.setText("nothing");
    // Activity transfer to wifi settings
    startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
}
于 2011-01-12T12:05:50.863 に答える
27

コンテキストでインテントを呼び出す必要があるだけです。これを試してください:

startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));
于 2013-09-04T15:47:30.657 に答える
11

xmlファイルからそれを実行したい場合:

    <PreferenceScreen
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:key="@string/setting_key"
        android:summary="@string/setting_summary"
        android:title="@string/setting_title" >

        <intent 
            android:action="android.settings.WIRELESS_SETTINGS"/>
    </PreferenceScreen>

これにより、プラットフォームの設定アクティビティを呼び出す設定のエントリが表示されます

于 2011-11-05T18:56:15.127 に答える
1

これは、wifi 設定ページを開くためのコード スニペットです。

 Intent intent = new Intent(Intent.ACTION_MAIN, null);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.wifi.WifiSettings");
        intent.setComponent(cn);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity( intent);
于 2016-07-14T16:47:17.960 に答える
1

すべてのデバイスが同じ Wifi 設定パッケージ名とクラスを持っているわけではありません。このコードを使用して、ほとんどの Android デバイスで wifi 設定ページを開きます。

            try{
                Intent intent = new Intent(Intent.ACTION_MAIN, null);
                intent.addCategory(Intent.CATEGORY_LAUNCHER);
                ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.wifi.WifiSettings");
                intent.setComponent(cn);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
            }catch (ActivityNotFoundException ignored){
                startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
            }
于 2020-12-21T15:59:01.587 に答える