BluetoothSerial插件不适用于离子

时间:2015-06-23 10:04:24

标签: javascript android cordova bluetooth ionic-framework

我正在尝试将蓝牙集成到我的离子应用程序中,以便它可以从蓝牙设备接收数据。我试图使用蓝牙插件,但我在PC和Android设备上都收到了一堆错误。 我使用以下命令安装了bluetoothserial

  

cordova插件添加com.megster.cordova.bluetoothserial

tmp

这是我的代码

main.html中

%cordova plugins
com.ionic.keyboard 1.0.4 "Keyboard"
com.megster.cordova.bluetoothserial 0.4.3 "Bluetooth Serial"
cordova-plugin-whitelist 1.0.1-dev "Whitelist"
org.apache.cordova.console 0.2.13 "Console"
org.apache.cordova.device 0.3.0 "Device"

app.js

<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-  scalable=no, width=device-width">
<title></title>

<link href="lib/ionic/css/ionic.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
 <script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="js/ng-cordova.min.js"></script>
<script src="cordova.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-resource.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular-route.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ng-tags-input/2.3.0/ng-tags-input.min.js"> </script>
<script src="js/app.js"></script>
</head>

我收到以下错误:

  

TypeError:无法读取未定义

的属性'available'      

未捕获的ReferenceError:$ cordovaBluetoothSerial未定义

任何人都可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

使用$ timeout,它为我工作。

.controller('BlueController',function ($cordovaBluetoothSerial,$scope,$timeout) {...

$scope.checkBT = function (time) {
  $timeout(function () {
    $cordovaBluetoothSerial.isEnabled().then(fun,fun);
   },time); 
};
$scope.checkBT(750);

答案 1 :(得分:0)

当您尝试使用$ cordovaBluetoothSerial时,此问题或多或少与此相关。

此外,您需要确保没有在浏览器上进行测试,因为它不起作用!在适当的Android或iOS设备上进行测试。

答案 2 :(得分:0)

尝试

$ionicPlatform.ready(function() {

          $cordovaBluetoothSerial.isEnabled().then(function(){
            $scope.habilitado = true;
              alert('Bluetooth habilitado');

            },function(){
              alert('Bluetooth nao habilitado');

          });

    });