5

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

4

4 回答 4

9

您可以使用蓝牙适配器来做到这一点:

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

并将此权限添加到清单:

    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
于 2012-04-20T17:05:24.587 回答
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();
}
于 2014-06-05T04:51:30.773 回答
0

AFAIU,你需要BluetoothAdapter.enable() & BluetoothAdapter.disable()

于 2012-04-20T17:02:46.540 回答
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"/>
于 2012-04-20T17:06:41.063 回答