1

BlackBerry Push Messaging Serviceプッシュ メッセージを登録して受信する BlackBerry アプリの開発に成功しました。はPush Messageポップアップ メッセージとして受信されます。私が作成したアプリ内でこのメッセージを表示するために、バックエンドで処理していますChat Screen。デバイスに送信されたときのプッシュ メッセージもデータベースに保存されます。アプリには、データベースに新しいメッセージを照会してアプリ内に表示するタイマーが実行されています。ただし、プッシュ メッセージとして送信されたらすぐにメッセージを表示することを目指しているため、このアプローチはあまり効率的ではありません。私の質問は次のとおりです。

  1. アプリが閉じられ、サーバーがプッシュ メッセージを送信した場合、このメッセージは配信されますか?
  2. プッシュ メッセージを受信したときに、アプリを強制起動するにはどうすればよいですか?
  3. プッシュ メッセージの受信を検出するために使用できる特定の API またはメソッドはありますか?
  4. メッセージを受信したときにアプリのアイコンを変更できます。push messageただし、ポップアップとして受信するとすぐにこれを変更したい。push messageでは、バックグラウンド タイマーを実行する以外に、 がいつ受信されたかを検出するにはどうすればよいでしょうか?

ガイドしてください。

4

1 に答える 1

1

新しいメッセージのデータベースをポーリングすることは良い解決策ではないことに同意します。

私がすることは、アプリに2 つのエントリ ポイントを実装することです。

1) BlackBerryApplicationクラスを拡張するバックグラウンド プロセス。これは非グラフィカルで、プッシュ通知をリッスンします。

2)「アプリ」と呼ばれている通常のUI。UiApplicationこれにより、クラスが拡張されます。

UiApplicationバックグラウンド プロセスがプッシュ通知を受信したら、ユーザーが新しいチャット メッセージを処理できるように を開くことを選択できます。

質問に答えるには:

  1. はい、バックグラウンド プロセスが常に実行されているため、プッシュ通知は受信されます(バックグラウンド エントリ ポイントについては、BlackBerry_App_Descriptor.xml ファイルの [ 起動時に自動実行] ボックスを必ずオンにする必要があります)。詳しくはこちらをご覧ください

  2. バックグラウンド プロセスは、このコードを使用して UI アプリケーションをフォアグラウンドに移動できます。

  3. プッシュ通知を受信するには複数の方法があります...以下のリンクを参照してください。これはすでに実装されているようです。ただし、重要なのは、プッシュ処理コードをバックグラウンド に置くことだと思いますApplication。そうすれば、UI アプリケーションに特別な API は必要ありません。バックグラウンド アプリケーションは、必要なときに UI を開くだけです。この手法を使用して、UI アプリケーションにデータを渡すことを選択できます。

  4. Applicationここでも、backgroundと normal の2 つのエントリ ポイントを設定する必要がありますUiApplication。バックグラウンド アプリケーションは、起動時に実行され、プッシュ通知を登録し、プッシュ通知が来ると (ポーリングなしで) 受信します。次に、UI を開くなど、何をすべきかを決定できます ( UiApplication)。

プッシュ ポイントとエントリ ポイントの詳細

于 2013-09-04T08:50:12.080 に答える