web-dev-qa-db-de.com

Wie öffne ich die Bluetooth-Einstellungsaktivität programmgesteuert?

Ich möchte die Bluetooth-Einstellungen beim Klicken auf die Schaltfläche Öffnen. Siehe hierzu das Bildbluetooth image

HomeActivity.Java

button.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                final Intent intent = new Intent(Intent.ACTION_MAIN, null);
                intent.addCategory(Intent.CATEGORY_LAUNCHER);
                final ComponentName cn = new ComponentName("com.Android.settings", "com.Android.settings.bluetoothSettings");
                intent.setComponent(cn);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity( intent);
            }
        });
21
Mahesh

benutzen

ComponentName cn = new ComponentName("com.Android.settings", 
                   "com.Android.settings.bluetooth.BluetoothSettings");

anstatt

final ComponentName cn = new ComponentName("com.Android.settings", 
                              "com.Android.settings.bluetoothSettings");

um die Bluetooth-Einstellungen zu starten 

12

Vielleicht habe ich etwas verpasst, aber ist diese einfachere zukunftssichere Lösung nicht einfach?

Intent intentOpenBluetoothSettings = new Intent();
intentOpenBluetoothSettings.setAction(Android.provider.Settings.ACTION_BLUETOOTH_SETTINGS); 
startActivity(intentOpenBluetoothSettings); 

Es ist definitiv nicht möglich, die anderen Einstellungen zu "entfernen". Bei Telefonen wird nur eine Kategorie von Einstellungen angezeigt. Auf Tablets werden die Einstellungen aufgrund von zusätzlichem Speicherplatz im Master-Detail-Layout angezeigt, sodass auf der Hälfte des Tablettbildschirms kein freier Speicherplatz vorhanden ist. So wird Android entwickelt und nur durch das Schreiben einer App, die nicht geändert werden kann. 

Wie von @zelanix vorgeschlagen, ist die BLUETOOTH_ADMIN-Berechtigung im Manifest erforderlich.

47
Ewoks

Ich denke, du solltest es einfacher machen: 

startActivity(new Intent(Android.provider.Settings.ACTION_BLUETOOTH_SETTINGS));
12
Aj 27

adb Shell bin Start -a Android.settings.BLUETOOTH_SETTINGS

2
Vasarla

Wenn Sie den Scan-Dialog öffnen möchten (ohne die App zu verlassen).

    Intent bluetoothPicker = new Intent("Android.bluetooth.devicepicker.action.LAUNCH");
    startActivity(bluetoothPicker);

 BluetoothScanDialog

0
x0a