uniapp如何请求打开系统蓝牙

admin1年前 (2024-05-19)uniapp606

直接用下列代码即可

let main = plus.android.runtimeMainActivity();
let BluetoothAdapter = plus.android.importClass(
	"android.bluetooth.BluetoothAdapter");
let BAdapter = new BluetoothAdapter.getDefaultAdapter();
let receiver = plus.android.implements(
	'io.dcloud.android.content.BroadcastReceiver', {
		onReceive: function(context,
			intent) { //实现onReceiver回调函数
			console.log('intent:', intent)
			plus.android.importClass(intent);
			main.unregisterReceiver(receiver);
			//重新打开蓝牙
			_that.isBluetooth();

		}
	});
let IntentFilter = plus.android.importClass(
	'android.content.IntentFilter');
console.log('IntentFilter:', IntentFilter)
let filter = new IntentFilter();
filter.addAction(BAdapter.ACTION_STATE_CHANGED); //监听蓝牙开关
main.registerReceiver(receiver, filter); //注册监听
console.log('filter:', filter)
if (!BAdapter.isEnabled()) {
	console.log('启动蓝牙:')
	BAdapter.enable(); //启动蓝牙
} else {
	BAdapter.disable();
}