私はAndroidプログラミングにとって大きな騒ぎですので、これは簡単な作業であればごめんなさい。私はプッシュ通知用のVogellaプッシュ通知チュートリアル(http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html)にほとんど従っていました。私は他のスタックオーバーフローの質問を読んだことがありますが、通知を受け取ったら意図を開く方法について少し混乱します。プッシュ通知をクリックした後にアクティビティを開くandroid
たとえば、私が通知をウェブサイトに誘導したかったら、どうしたらいいですか? MessageReceivedActivityや別のプロジェクト/クラスの下に一緒に行かなければならないでしょうか?ここで
おかげ
は、私が持っているコードは)あなたが(のhandleMessageを持っているあなたの基本C2DMのための受信機またはクラスで私のC2DMMessageReceiver
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.w("C2DM", "Message Receiver called");
if ("com.google.android.c2dm.intent.RECEIVE".equals(action)) {
Log.w("C2DM", "Received message");
final String payload = intent.getStringExtra("payload");
Log.d("C2DM", "dmControl: payload = " + payload);
// TODO Send this to my application server to get the real data
// Lets make something visible to show that we received the message
createNotification(context, payload);
}
}
public void createNotification(Context context, String payload) {
NotificationManager notificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.ic_launcher,
"Message received", System.currentTimeMillis());
// Hide the notification after its selected
notification.flags |= Notification.FLAG_AUTO_CANCEL;
//adding LED lights to notification
notification.defaults |= Notification.DEFAULT_LIGHTS;
Intent intent = new Intent(context, MessageReceivedActivity.class);
intent.putExtra("payload", payload);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
intent, 0);
notification.setLatestEventInfo(context, "Message",
"New message received", pendingIntent);
notificationManager.notify(0, notification);
}
}
私はプッシュ通知をクリックした後、 "New message received"というメッセージしか表示しません。おそらく何かが、意図を開くために保留中の人に伝える必要がありますか? – Kevin
あなたのコードを通して気にしないでください。 1つの小さなものだけを変えなければならなかった。ありがとう! – Kevin