2014-03-12 38 views
0

我正在使用藍牙硬件設備,我試圖讓它與我的Trigger.IO應用程序接口。看起來似乎不可能,即使在技術上它應該。這裏是我到此爲止:Trigger.io藍牙許可?

  • 使用的Trigger.IO模塊功能來創建一個模塊,它能夠在Trigger.IO應用程序和本地Java代碼

  • 之間創建成功地發送和接收消息天然Android應用成功地連通於藍牙硬件設備

  • 閥塊我的原生Android藍牙代碼在進入我Trigger.IO模塊

此時,自定義模塊包含在Trigger應用程序中,似乎開始正確,但是當我撥打應啓動藍牙設備連接邏輯的呼叫時,我收到有關藍牙許可權的錯誤。我確保我的模塊在其AndroidManifest.xml內具有必要的藍牙許可,但我擔心基本的Trigger應用程序沒有所需的權限。

這些日誌,當試圖啓動藍牙連接logcat的內輸出:

D/Forge: Native call module.startDevicePolling with task.params: {} 
D/BluetoothManagerService: Message: 20 
D/BluetoothManagerService: Added callback: [email protected]: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。其他人遇到這個?我認爲如果我可以將BLUETOOTH權限加入到根目錄AndroidManifest.xml中,那麼這些文件的編碼就不會那麼容易了。

回答

0

Trigger.io不支持模塊的添加權限的能力 - 看到Changing build configuration

總結:

  1. 添加構建步驟android/build_steps.json
  2. 文件爲您的情況,更新構建步驟文件與:[ { "do": { "android_add_permission": { "permission": "android.permission.BLUETOOTH" } } } ]
  3. 更改Android或iOS的構建步驟後,更新檢查器項目是非常重要的
+0

完美!這正是我所期待的。非常感謝你。 – mmixan

0

我能夠通過改變本地觸發器android模板來解決我的問題,給我我需要的權限。這顯然不理想。使觸發邏輯查看本地模塊,派生所需的權限並相應地更新其主模塊AndroidManifest.xml是理想的。

+0

你也可以使用[Trigger.io postbuild hook](https://trigger.io/docs/current/tools/hooks.html)在每次僞造運行後自動更改AndroidManifest.xml的內容'。可能不那麼哈克。 –