这几天通过mui来做PDA扫码接收,想通过广播的方式进行扫描结果的接收。所以通过native.js使用原生安卓类库,要实现广播必须使用安卓BroadcastReceiver类库;但是这个类库是抽象类,没法实例化;通过查询,发现mui对这个类库进行了映射;这样就可以轻松使用这个类库操作进行功能实现了;
function plusReady() {
var main = plus.android.runtimeMainActivity(); //获取activity
var context = plus.android.importClass('android.content.Context'); //上下文
var receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
onReceive: getReceive //实现onReceiver回调函数
});
var IntentFilter = plus.android.importClass('android.content.IntentFilter');//引入过滤器
var Intent = plus.android.importClass('android.content.Intent');
var filter = new IntentFilter();
filter.addAction("lachesis_barcode_value_notice_broadcast"); //监听扫码广播
main.registerReceiver(receiver, filter); //注册监听
}
function getReceive (context, intent) {
alert(intent.getStringExtra("lachesis_barcode_value_notice_broadcast_data_string"));//获取到的值,根据需要自行处理结果
}
因为确实资料很少,费了不少时间;所以,分享给大家,希望对大家有用,谢谢;