Android アプリとサーバー間のパブリッシュ/サブスクライブ チャネルとして pubnub を使用しています。現在、これをどのように実装するかを考えています。
Android用に提供されているライブラリ(https://github.com/pubnub/pubnub-api/tree/master/android)を使用していますが、今のように使用するとアプリケーションのライフサイクルに問題があると思います. (間違っていたら訂正してください)
サービス化を考えていた
私が欲しいもの
サービスは、アプリを最後に使用してから 1 時間 (応相談) まで実行し続ける必要があります。これは、メッセージが着信したときに通知を受け取りたいのですが、アプリが現在使用されているアプリではないためです。
アプリを 1 時間使用しなかった場合、サービスを停止するにはどうすればよいですか? おそらくAndroidはそれを殺しますが、私はいくつかの制御が必要です.
サービスは、特定のメッセージが届いたときにアプリをトリガーしてインターフェイスを変更できる必要があります (pubnub メッセージを受信したときにサービスからインテントを送信することを考えていましたか?)、pubnub はサービスにデータを送信するため、方法が必要です。このデータをアプリケーションに渡す (おそらくインテントでバンドルに保存しますか?)
複数の pubnub チャンネル (同時に最大 2 つ) を聞く必要があります。このサービスの複数のインスタンスでこれを行う必要があると思いますか?
私は次のようにすると思います:
アプリの起動時に開始されるサービスを作成する
サービスが pubnub チャネルをリッスンできるようにする
メッセージが届いたら、インテントを送信し、インテント フィルターを使用します
これらの内部インテントをリッスンするブロードキャスト ハンドラを実装する
これはこれを行う正しい方法ですか?ヒントはありますか?