我正在使用一个蓝牙硬件设备,我试图让它与我的Trigger.IO应用程序接口。这似乎是不可能的,即使从技术上讲应该如此。到目前为止,我的步骤如下:
此时,自定义模块包含在触发器应用程序中,并且似乎启动正确,但是当我发出一个应该启动蓝牙设备连接逻辑的调用时,我会收到有关蓝牙权限的错误信息。我确保我的模块在其AndroidManifest.xml中拥有必要的蓝牙权限,但我担心基本触发应用程序没有所需的权限。
这些日志是尝试启动蓝牙连接时在LogCat中输出的日志:
D/Forge: Native call module.startDevicePolling with task.params: {}
D/BluetoothManagerService: Message: 20
D/BluetoothManagerService: Added callback: Android.bluetooth.IBluetoothManagerCallback$Stub$Proxy@41f84218:true
W/dalvikvm: threadid=25: thread exiting with uncaught exception (group=0x41612ba8)
I/Process: Sending signal. PID: 11967 SIG: 9
E/AndroidRuntime: FATAL EXCEPTION: Incoming Data Thread
E/AndroidRuntime: Process: io.trigger.forge42a1430afae511e2a0e61231392b77b0, PID: 11967
E/AndroidRuntime: java.lang.SecurityException: Need BLUETOOTH permission: Neither user 10230 nor current process has android.permission.BLUETOOTH.查看部署的AndroidManfiest.xml根目录下的.APK,看起来触发器似乎只对INTERNET和ACCESS_NETWORK_STATE具有权限。还有人碰到这个吗?我想,如果我能在根AndroidManifest.xml中获得蓝牙权限,事情就会成功,但该文件的编码并不容易。
发布于 2014-04-14 08:37:01
Trigger.io确实支持模块添加权限的能力--参见更改构建配置
总结如下:
android/build_steps.json中添加构建步骤文件[ { "do": { "android_add_permission": { "permission": "android.permission.BLUETOOTH" } } } ]更新构建步骤文件发布于 2014-03-20 20:37:38
我可以通过更改本地触发器android模板来给我所需的权限来解决我的问题。这显然是不理想的。理想的方法是让触发器逻辑查看本机模块,派生所需的权限,并相应地更新它们的主AndroidManifest.xml。
https://stackoverflow.com/questions/22363242
复制相似问题