it-swarm.com.de

Wie kann ich den Wi-Fi-Einstellungsbildschirm von meiner Anwendung aus mit Android aufrufen?

Normalerweise erhalte ich im Emulator einen Wi-Fi-Einstellungsbildschirm, indem Sie auf Settings > Wireless controls > wifi settings klicken. Wenn Sie auf die von mir erstellte Wi-Fi-Schaltfläche drücken, muss ich direkt aus meinem Programm zum Wi-Fi-Einstellungsbildschirm wechseln. Kontakte, rufen Sie Protokolle auf, die wir mit Intent.setData (Android.provider.contacts ...........) behandeln können. Gibt es eine Möglichkeit, Untermenüs/Menüs von Einstellungen aus einem Android-Programm zu öffnen?
Bitte geben Sie mir Ratschläge oder Beispielcode dazu.

64
Rajendar

In Android.provider.Settings finden Sie eine Reihe von Intent Aktionen, mit denen Sie verschiedene Einstellungsbildschirme aufrufen können (z. B. _ACTION_WIFI_SETTINGS_).

EDIT: Füge die Codierungszeile hinzu.

startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));

155
CommonsWare

beispiel

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));
}
31
kim myoungho

Sie müssen nur eine Absicht mit einem Kontext aufrufen. Versuchen Sie Folgendes:

startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));
25
Victor Ruiz C.

Wenn Sie es von der XML-Datei aus machen wollen:

    <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>

Dadurch wird in Ihren Einstellungen ein Eintrag angezeigt, der die Aktivität der Plattform für die Einstellungen aufruft

10
kingston

Hier ist der Code-Ausschnitt, um die Seite mit den WLAN-Einstellungen zu öffnen  

 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);
1
Jayakrishnan PM

Ich habe es so in meiner App implementiert:

     if (Connectivity.isConnected(this)) {
                SERVER_IP = Connectivity.getIPAddress(true)
            } else {
                SERVER_IP = "Not Connected to Network"
                Snackbar.make(appRoot, "Not Connected to Network", 
                              Snackbar.LENGTH_INDEFINITE)
                              .setAction("Open Settings") {
                   //open network settings
                  startActivity(Intent(Settings.ACTION_WIFI_SETTINGS))
                        }.show()
            }
        }


public static boolean isConnected(Context context) {
        NetworkInfo info = Connectivity.getNetworkInfo(context);
        return (info != null && info.isConnected());
    }
0
Hitesh Sahu

Klicken Sie auf den Button Listner

startActivityForResult (new Intent (Settings.ACTION_WIFI_SETTINGS), 0);

0
Rahul Patil