HTML5寻路者
HTML5寻路者
  • 发布:2016-08-30 19:00
  • 更新:2016-09-14 22:32
  • 阅读:2462

蓝牙打票机安卓端本地调试没问题,但打包后出现问题

分类:HTML5+

首先感谢 猛先生(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方法来试,都没用,麻烦各位大佬帮忙解决下,谢谢!~

2016-08-30 19:00 负责人:无 分享
已邀请:

最佳回复

y***@126.com

y***@126.com - 技术交流

此问题已经解决:方法为:点击manifest.json ==> 进入模块权限配置,然后 右拉会有android权限设置,

将其中的Bluetooth ,bluetooth_admin, bluetooth_privileged选中,如附件所示

y***@126.com

y***@126.com - 技术交流

Adapter.isEnabled()和BAdapter.startDiscovery() 这两个函数打包之后,用不了,楼主最后如何解决的!
谢谢

HTML5寻路者

HTML5寻路者 (作者)

感谢兄弟,回头我试下

该问题目前已经被锁定, 无法添加新回复