首先感谢 猛先生(http://ask.dcloud.net.cn/article/643) 提供的解决方案,程序本地调试没问题,但打包发布后BAdapter.isEnabled()和BAdapter.startDiscovery()都执行不了!~
一言不合上代码
var main = plus.android.runtimeMainActivity();
var IntentFilter = plus.android.importClass('android.content.IntentFilter');/注册接收器/
var filter = new IntentFilter();
var BluetoothDevice = plus.android.importClass('android.bluetooth.BluetoothDevice');
var bdevice = new BluetoothDevice();
/var Context = plus.android.importClass('android.content.Context');
var BManager = main.getSystemService(Context.BLUETOOTH_SERVICE);
plus.android.importClass(BManager);
BAdapter = BManager.getAdapter();
plus.android.importClass(BAdapter);/
var BluetoothAdapter = plus.android.importClass('android.bluetooth.BluetoothAdapter');
var BAdapter = BluetoothAdapter.getDefaultAdapter();
console.log('开始搜索蓝牙设备');
/if (!BAdapter.isEnabled()) {
BAdapter.enable();
}/
alert(1);
BAdapter.startDiscovery();/开启搜索/
alert(2);
假如开启蓝牙那段代码不注释的话alert(1)都执行不了,屏蔽后,alert(1)可执行,但alert(2)执行不了,说明BAdapter.startDiscovery()方法也有问题,上面我也已经用了注释了的BManager方法来试,都没用,麻烦各位大佬帮忙解决下,谢谢!~
3 个回复
最佳回复
y***@126.com - 技术交流
此问题已经解决:方法为:点击manifest.json ==> 进入模块权限配置,然后 右拉会有android权限设置,
将其中的Bluetooth ,bluetooth_admin, bluetooth_privileged选中,如附件所示
y***@126.com - 技术交流
Adapter.isEnabled()和BAdapter.startDiscovery() 这两个函数打包之后,用不了,楼主最后如何解决的!
谢谢
HTML5寻路者 (作者)
感谢兄弟,回头我试下