是否可以在没有用户交互的情况下访问android [enable()或disable()]中的蓝牙?

时间:2012-04-20 16:57:41

标签: android bluetooth

我正在开发一个Android应用程序,它将访问蓝牙以启用和禁用它而无需任何用户交互。有人可以帮我怎么做吗?

4 个答案:

答案 0 :(得分:7)

您可以使用BluetoothAdapter执行此操作:

    BluetoothAdapter.getDefaultAdapter().disable();
    BluetoothAdapter.getDefaultAdapter().enable();

并将权限添加到清单:

    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

答案 1 :(得分:0)

答案 2 :(得分:0)

要在无需用户交互的情况下以编程方式启用/禁用蓝牙,请使用以下代码:

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();    
if (!mBluetoothAdapter.isEnabled()) { //Disable it if enabled
    Intent localIntent;
    localIntent = new Intent();
    localIntent.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
    localIntent.addCategory("android.intent.category.ALTERNATIVE");
    localIntent.setData(Uri.parse("4"));
    getBroadcast(paramContext, 0, localIntent, 0).send();
} else { //Enable if disabled
    Intent localIntent;
    localIntent = new Intent();
    localIntent.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
    localIntent.addCategory("android.intent.category.ALTERNATIVE");
    localIntent.setData(Uri.parse("4"));
    getBroadcast(paramContext, 0, localIntent, 0).send();
} 

Manifest.xml 文件中:

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>

答案 3 :(得分:0)

是的。

private static BluetoothAdapter getBA(){
    return BluetoothAdapter.getDefaultAdapter();
}

/*Methode startet das Bluetooth Modul
 */
public static void BT_ON(){
    BA = getBA();
    BA.enable();
}

public static void BT_STATUS(){
    BA = getBA();
}