4

C2DM または GCM からプッシュ通知が届いたときにアラートを表示する方法を教えてください。現在、ステータスバーに通知を表示しています。では、アラートとして通知を受け取るにはどうすればよいですか。

4

2 に答える 2

6

ユーザーが行っていることの途中でダイアログをポップすることは、ユーザーにとって非常に敵対的な行為です。彼らが Angry Birds をプレイしていて、あなたが彼らのショットを台無しにしてしまったらどうしますか? それを回避できるのはプラットフォームだけであり、そうすべきです。

Google が意図したように通知領域を使用しますが、アプリが現在制御していない限り (アクティビティが実行中の状態)。次に、そのアクティビティのコンテキストを使用してAlertDialog(). onResume()andをオーバーライドすることで、アクティビティが実行されているかどうかを検出できますonPause()。その間に発生するものはすべて、アクティビティの時間です。

AlertDialog は次のようにポップできます。

new AlertDialog.Builder(Ctxt) //Use an activity object here
    .setMessage(R.string.MyMessageID) //Provide a message here... A string or a string ID will do
    .setCancelable(true) //If you want them to be able to dismiss with a Back button
    .setNegativeButton(R.string.IDS_NO, null) //No action on NO, right?
    .setPositiveButton(R.string.IDS_YES, OnYesClickListener) //Plug your own listener...
    .create()
    .show();

単純なメッセージ/はい/いいえダイアログの場合は、 でAlertDialog十分です。より複雑な UI の場合は、からクラスを派生させDialog、独自のレイアウトを設計します。

于 2012-10-09T16:03:25.347 に答える
1

アラートの場合、コードを記述する必要があります

generateNotification(コンテキスト コンテキスト、文字列メッセージ)

この方法で。

ありがとう

于 2012-10-09T15:39:07.620 に答える