デザインパターンのための代替場合にアプリを前景?
-
20-12-2019 - |
質問
私ビルアクションを利用したGoogleのクラウドメールを受けるプッシュ通知.
これには、カップル注目要素から構成:
- A
WakefulBroadcastReceiver
を受けるのからのメッセージGCM. - An
IntentService
通知が,大気大循環モデルイベントを受信します。
っていただけるのは間違いなしですの多くのアプリケーションでは、このような異なるアプローチをする際の申請には、活動のフォアグラウンドに対すの申込みが ない お申し込みフォアグラウンド.
今後の通知の通知を引き出しがある場合、アプリケーションが設定されていないだけのイベントをフォアグラウンドの活動がある場合、アプリケーションが活発です。
あるデザインパターン。いつ、どのように行いるかどうかを判断するアプリはフォアグラウンドに対すのです。
解決
このブログに概説するようにアプローチに従うことができます。POST BroadcastReceiver
にActivity
を作成し、特定のアクションを傍受してから0
を呼び出す - これはApp Openケースを処理します。その後、同じアクションを処理するがデフォルトの優先順位では、マニフェストにabortBroadcast
を登録します。アプリが開いていない場合はこれがフォールバックです。
それからBroadcastReceiver
を使用して、すべての登録済みの受信機にブロードキャストを送信します。アクティビティが開いている場合は、最初に処理されます。それ以外の場合は、もう一方のデフォルトには通知を作成します。
他のヒント
のであることを行うのでは以下の通りである。
すべてのロジックに関して,大気大循環モデルにサービス(私を利用したことのない IntentService
, で知らないのでガッツがいいを継承 Service
).
あなたの活動、ほとんどの方は、サービス(おそらくユーザーが作動してボタン)、新しいものではない。
ここでは楽しいです。あなたの活動の取り扱い onPause()
や onResume()
.に onResume()
す bind のサービスです。の結合機構ときのポインタをサービスを及ぼす場合がありますのでいまい"こんにちはサービスに思活動としては私がここ---お店のポインタを自分のどこかに"のサービス店舗のポインタでの活動(う mActivity
).お onPause()
に通知するサービスのいくので、サービスセット mActivity = null
, に、そして 板自体が"弾性"を持 からのサービスです。
こうしたメカニズムの全てのサービスを受けプッシュ通知で試験を mActivity
変数への参照があれば行きます。とを指すポインター活動を呼び出すことができ合い方法は、インフォメーション---