わかりやすくするためにすべてを消去しました。私の情報要求を簡素化する予定です: モバイルがスリープ状態になっているとき、またはアプリケーションがフォアグラウンドにないときに、モバイルのウェアからのメッセージを受信するのに最適な方法は何ですか?Android Wearウェイクモバイル
これらの状況のいずれにおいても、磨耗からモバイルにメッセージを送信しても、モバイルはメッセージを受信または処理しません。私はどちらが分からない。
次読んだことがある場合: 1)部分的wakelocksを - 私は本当にCPUに保存しておきたいいけない良いん目を覚まし 2)ハンドラ 3)broadcastreceiver 4私はまさに私がすべきかわからない
)サービスアプリがフォアグラウンドおよび/またはスリープ状態にないときに、自分のアプリでメッセージを処理するために行います。
スリープ中にonMessageReceieved()が処理する必要がある場合、またはアプリケーションがフォアグラウンドにない場合、私には私のアプリに表示されているものに基づいてはいけないと思っています。
また、私はリスナーサービスの代わりにライブリスナーを使用しています。これは私の問題ですか?代わりにウェアラブルリストサービスクラスに切り替えると、私の問題を解決して正しく動作するでしょうか? 私はこれを行う場合、私はこの
@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を目覚めさせるために部分的なwakelockを使用しようとしました。それは成功しなかった。私はこの機能を5〜10分ごとに使いたいと思っています。私は昨日wakelocksでより多くの読書をし、これを試みた。 –