我最棒
我最棒
  • 发布:2018-08-16 08:51
  • 更新:2018-08-16 12:48
  • 阅读:2603

有关native.js调用Android原生蓝牙问题

分类:Native.js

问题一:对于native.js调用蓝牙操作,官方没有一个详细的demo,特别是ios端更无从下手了;
问题二:这个问题是我这次遇到的大问题,如果解决不了的话,也许真的要放弃HBuilder去开发了!native.js调用Android原生蓝牙,打开蓝牙、扫描和连接都没问题,论坛也有很多案例可以参考,但是要对蓝牙进行读写操作时,如:inputStream.read(); 就出现了整个页面卡死了,应该属于线程阻塞,发现论坛有不少人遇到了这个问题,但是没有一个具体的回答和解决方案,用native.js操作蓝牙是否可行???
忘各路大神多多指教

2018-08-16 08:51 1 条评论 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

这种情况不推荐使用Native.js,Webview扩展API的通讯机制最终一定会运行到主线程,所以这种情况还是会卡死的。因此应该扩展插件来实现这类功能。
目前已经计划补充这类功能。

  • 妙妙

    请问这个功能目前实现的怎么样了,什么时候可以用上,我现在也是遇到蓝牙方面的问题,急需要解决

    2018-11-19 16:59

  • DCloud_App_Array

    预计月底会发出蓝牙模块

    2018-11-19 17:43

我最棒

我最棒 (作者)

没有回复没事,我再等等

我最棒

我最棒 (作者)

我按照安卓的方式 开启一个子线程来读取蓝牙返回的数据:
function childThread(){
var Thread = plus.android.importClass('java.lang.Thread');
var Runnable = plus.android.implements("java.lang.Runnable", {
"run":function( ){
console.log( "Invoked Object’s wahaha: " );
ReadThread();
}
} );

            var thd = new Thread(Runnable) ;   
            thd.start();  
        }  

        function ReadThread(){  
            try{  
                console.log("wo que shi jin lai le");                       
                    var msg=inputStream.read();   
                    console.log(msg);  
            }catch(err){  
                console.log("异常"+err);                      
            }  
        }  

当执行到var msg=inputStream.read(); 方法时,整个页面就开始卡死了,难道是js单线程的原因造成的吗

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