2014-10-30 436 views
8

我建立一個Wear應用,將與手持一個WearableListenerService通信啓動服務。 但是,我想確保服務在手錶啓動時運行。Android Wear:手持

我最初的想法是要麼發送意圖或廣播消息來獲得該服務啓動。 不過,我一直無法弄清楚如何讓手錶發送到配對的手持設備來代替。

在手錶方面:

Intent intent = new Intent(); 
intent.setAction("my.wearable.CONNECT"); 
sendBroadcast(intent); 

在手持設備方面:

public class WearableBroadcastReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     Intent startServiceIntent = new Intent(context, WearableService.class); 
     context.startService(startServiceIntent); 
    } 
} 

<receiver android:name=".service.wearable.WearableBroadcastReceiver" > 
    <intent-filter> 
     <action android:name="my.wearable.CONNECT" /> 
    </intent-filter> 
</receiver> 

回答

4

有幾個需要明確的是Android之間

  1. 通信接口的東西Wear設備和Android設備如下

    • DataApi
    • MessageApi

    使用NodeApi得到連接的節點ID。

  2. 無法發送的磨損側的意圖,並期望得到它在手機端。

  3. 在電話方面,如果您正在擴展WearableListenerService,則此服務由Android OS自行管理。這意味着,如果服務從磨損中接收到消息或數據,則Android會自動創建服務,爲您的請求提供服務並在需要時銷燬服務。你不必在這裏做任何特別的事情。

在清單(複製粘貼以上) 受用Android操作系統做服務的上述管理規定的意圖。

+0

我有一個延長'WearableListenerService'服務和它做了幾件事情,即使應用程序是死的,這是偉大的,但如果手持應用不積極就不能送什麼東西給我耐磨。我發送消息的磨損應用程序打開時,以手持,然後我通過'DataApi'送我的API響應可穿戴但並不可穿戴顯示。在'WearableListenerService'中,我等待'GoogleApiClient'連接,然後發送給可穿戴設備。這是正確的方法嗎?簡單地說,我要求掌上電腦做一個請求,然後從服務中發回 – 2015-09-19 17:45:34