編輯 爲了清晰起見,我刪除了所有內容。因爲我將簡化我對信息的請求: 當移動設備處於睡眠狀態或應用程序不在前臺時,處理接收移動設備上的消息時接收消息的最佳方式是什麼?Android Wear Wake Mobile
在這兩種情況下,即使我通過穿戴將消息發送到移動設備,移動設備也不會接收或處理它們。我不知道哪個。
如果已經閱讀以下內容: 1)部分wakelocks - 沒有好,我不想真正保持CPU清醒 2)處理器 3)廣播接收器 4)服務
我不知道到底我應該怎樣當應用程序不在前臺和/或睡着時,爲了處理與我的應用程序的消息。
如果onMessageReceieved()應該在睡眠期間或應用程序不在前臺時讓我知道這也是有益的,因爲現在我認爲它不應該基於我在我的應用程序中看到的。
此外,我正在使用livelisteners而不是偵聽器服務。這是我的問題嗎?如果我切換到wearablelistenerservice類將解決我的問題,並正常工作? 我這樣做
@Override
public void onConnected(Bundle connectionHint) {
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Connected to Google Api Service");
}
Wearable.MessageApi.addListener(mGoogleApiClient, this);
}
,而不是如果我這樣做:
public class DataLayerListenerService extends WearableListenerService{
,並把我所有的代碼在那裏,然後做到這一點:
<service android:name=".DataLayerListenerService">
<intent-filter>
<action android:name="com.google.android.gms.wearable.DATA_CHANGED" />
<data android:scheme="wear" android:host="*"
android:path="/start-activity" />
</intent-filter>
</service>
意志解決我不接受不在前臺並且手機在睡着時的消息問題?因爲這個意圖將作爲在後臺運行的服務?
我很感謝您的回答,我曾嘗試嘗試使用部分喚醒鎖來保持CPU清醒。這是不成功的。加上效率很低,考慮到我希望每5-10分鐘使用一次這個功能,並且保持喚醒的狀態,等待看起來很愚蠢。我昨天在wakelocks上做了更多的閱讀並嘗試了這個。 –