电话间隙蓝牙插件不起作用
Phonegap bluetooth plugin not working
第一次在这里发海报,所以如果这个问题问错了或者有任何问题,我很抱歉。
我正在开发一个Phonegap应用程序,我需要能够在平板电脑(在这种情况下为Android)和Win CE PC之间设置蓝牙连接。目前,我正在尝试让蓝牙部分在平板电脑上工作,并且我正在使用您可以在 https://github.com/tanelih/phonegap-bluetooth-plugin对于妈妈,我只是尝试启用和禁用设备上的蓝牙。
在我的蓝牙页面.js文件中,我使用以下方法
window.bluetooth.prototype.enable(bluetoothTestSucces(),bluetoothTestFail());
蓝牙测试成功和蓝牙测试失败功能只显示警报,没有别的。如果我正确理解了phonegap插件的工作原理,这将在我的蓝牙文件中使用以下代码.js
Bluetooth.prototype.enable = function(onSuccess, onError)
{
exec(onSuccess, onError, "Bluetooth", "enable", []);
}
哪个调用
private void enable(JSONArray args, CallbackContext callbackCtx)
{
try
{
_bluetooth.enable();
callbackCtx.success();
}
catch(Exception e)
{
this.error(callbackCtx, e.getMessage(), BluetoothError.ERR_UNKNOWN);
}
}
在我的蓝牙插件.java文件中。
如果 java 文件返回 Succes 蓝牙TestSucces() 被使用,如果 java 文件返回错误 bluetoothTestFail() 则使用。
但是由于某种原因,它同时运行两者,并且无法在我的设备上打开蓝牙。我几乎可以肯定我忘记了文件的链接,或者在某处链接错误。但是我已经按照插件中包含的说明进行操作。
我已经在我的AndoridManifest文件中包含了蓝牙权限,该文件位于我的应用程序的根目录中
我已经将插件包含在我的配置.xml文件中,该文件位于 res/xml 中
我在设备就绪事件后需要插件,如下所示
document.addEventListener("deviceready", onDeviceReady, false);
函数在设备上准备好(){
window.bluetooth = cordova.require("cordova/plugin/bluetooth");
}
谁能告诉我如何解决这个问题或我做错了什么?
更新 1
在完成之后能够使用 Eclipse 进行一些调试我收到以下错误:未捕获的类型错误:无法调用未定义的方法"启用"。
更新 2
我想我把方法叫错了,它应该是window.bluetooth.enable而不是window.bluetooth.prototype.enable。现在我收到以下错误;
"蓝牙绑定器为空",标签为"蓝牙适配器"
此外,当我在模拟器上运行它时,它只显示蓝牙TestFail()功能(应该是这样),但是当我在设备上运行它时没有任何反应,没有调用任何函数,也没有打开/关闭蓝牙
更新 3
我已经通过 eclipse 在我的设备上作为应用程序运行了我的项目,现在它工作正常,没有问题。但是当我使用phonegap将其转换为应用程序时,它不再起作用。
谢谢
马蒂恩
PS:对于任何语言错误,我很抱歉,英语不是我的母语。
编辑:忘记包含一些代码
您似乎正在通过prototype
调用该方法。如果您查看包含的bluetooth.js
文件,您会发现包含以下内容的行:
var bluetooth = new Bluetooth();
module.exports = bluetooth;
这基本上意味着插件"导出"一个Bluetooth
实例,您可以从中直接调用方法。
在你的帖子中,你说你也在传递回调:
window.bluetooth.prototype.enable(bluetoothTestSucces(),bluetoothTestFail());
这意味着将调用 bluetoothTestSucces
和 bluetoothTestFail
函数,并传入其返回值。
尝试像这样调用该方法,看看它是否有效。
window.bluetooth.enable(bluetoothTestSucces, bluetoothTestFail);
希望这有帮助!
编辑
很高兴听到你至少以某种方式让它工作。
我不确定您使用PhoneGap将其转换为应用程序是什么意思?我自己只通过 eclipse 运行过 Android 项目,所以我不确定是什么导致了问题。
您可以尝试将一些基本的调试与console.log
添加到bluetooth.js
文件中,以查看是否正在调用插件方法。你也可以对Java文件做同样的事情,看看这是否有助于你追踪罪魁祸首。
希望你让它工作。
- 当我动态创建元素时,选择的插件不起作用
- jQuery基本插件不起作用
- 修复Angular数据表中的头插件不起作用
- jquery在动态表单输入上验证插件不起作用
- jQuery插件不起作用
- Rails-jQuery地理编码和Places自动完成插件不起作用
- 灯箱 jquery 插件不起作用
- TinyMCE 自动调整大小插件不起作用
- 升级到 cordova 3.1.0 后,推送插件不起作用
- Timeago Jquery插件不起作用
- 科尔多瓦插件不起作用
- 为什么jQuery循环插件不起作用
- 无限滚动jquery插件不起作用
- 电话间隙蓝牙插件不起作用
- jQuery“流沙”插件不起作用,我该如何使用它
- Joomla 中的 jquery 自定义插件不起作用
- Struts 2 jQuery插件不起作用
- 链接配置文件插件不起作用
- jQuery 颜色选择器插件不起作用
- 德鲁威尔逊自动建议插件不起作用