js 调用android 回调,原生代码怎么回调通知h5页面的js方法
页面上调用原生代码,实现一个扫描功能,当后台扫描完成后,如何通知页面呢?目前我的做法是用的定时器,有什么其他的方法吗?后台应该怎么写才能调用js function?zDoorService = plus.android.importClass("com.zhsq.kmh.DoorService");zservice = new zDoorService();zmain = plus.android
页面上调用原生代码,实现一个扫描功能,当后台扫描完成后,如何通知页面呢?目前我的做法是用的定时器,有什么其他的方法吗?后台应该怎么写才能调用js function?
zDoorService = plus.android.importClass("com.zhsq.kmh.DoorService");
zservice = new zDoorService();
zmain = plus.android.runtimeMainActivity();
zservice.scanDevice(zmain);
zInter = setInterval(function() {
if(zservice.getScaning() == false){
zserviceId = zservice.getDevs();
if(!zserviceId){
mui.alert("暂未匹配到设备,请重试");
}else{
mui.alert("匹配成功,设备id:"+zserviceId);
}
clearInterval(zInter);
zInter = null;
}
}, 100);
public class DoorService {
private static final String RET = "ret";
private static final int SEC = 3;
private ArrayList devs;
private Boolean scaning = false;
public void scanDevice(Context context) {
scaning = true;
try {
ScanCallback callback = new ScanCallback() {
@Override
public void onScanResult(ArrayList arrayList, ArrayList arrayList1) {
devs = arrayList;
scaning = false;
}
@Override
public void onScanResultAtOnce(String s, int i) {
}
};
LibDevModel.scanDevice(context, false, SEC, callback);
} catch (Exception e) {
Log.e(e.getMessage(), e.getMessage());
}
}
public Boolean getScaning() {
return scaning;
}
}
更多推荐
所有评论(0)