我想在按钮点击时打开蓝牙设置 像这样看图像
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);
}
});
答案 0 :(得分:50)
也许我错过了一些东西,但这不是一个简单的未来证明解决方案吗?
Intent intentOpenBluetoothSettings = new Intent();
intentOpenBluetoothSettings.setAction(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS);
startActivity(intentOpenBluetoothSettings);
绝对不能“删除”其他设置。在手机上只显示一类设置。在平板电脑上,由于一些额外的空间,设置以主 - 细节布局显示,因此平板电脑屏幕的一半以上没有空白空间。这就是Android的设计方式,只需编写一个无法更改的应用程序。
根据@zelanix的建议,清单中的BLUETOOTH_ADMIN
权限是必需的。
答案 1 :(得分:16)
我认为你应该尝试这个更简单的方法:
startActivity(new Intent(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS));
答案 2 :(得分:13)
使用
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设置
答案 3 :(得分:2)
adb shell am start -a android.settings.BLUETOOTH_SETTINGS
答案 4 :(得分:1)