web-dev-qa-db-ja.com

プログラムでBluetooth設定アクティビティを開くにはどうすればよいですか?

このようにボタンをクリックしてBluetooth設定を開きたい画像を参照してくださいbluetooth 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);
            }
        });
27
Mahesh

使用する

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

の代わりに

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

bluetoothSettings設定を起動するには

14

たぶん私は何かを見逃しましたが、この単純な将来の証明ソリューションではないですか?

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

他の設定を「削除」することは絶対に不可能です。電話では、設定の1つのカテゴリのみが表示されます。タブレットでは、余分なスペースがあるため、設定はマスター/詳細レイアウトで表示されるため、タブレット画面の半分以上に空のスペースはありません。これがAndroidの設計方法であり、変更できない1つのアプリを作成するだけです。

@zelanixによって提案されたBLUETOOTH_ADMINマニフェストの許可が必要です。

52
Ewoks

これをもっと簡単に試してみるべきだと思います:

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

adb Shell am start -a Android.settings.BLUETOOTH_SETTINGS

3
Vasarla

スキャンダイアログを開く場合(アプリを終了せずに)。

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

BluetoothScanDialog

1
x0a