Ich bin ein großer Noob Android-Programmierung so leid, wenn dies eine einfache Aufgabe ist. Ich habe das Push-Benachrichtigungs-Tutorial für Push-Benachrichtigungen von Vogella ziemlich genau befolgt (http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html). Ich habe einige andere Fragen zum Stapelüberlauf gelesen, aber ich bin ein wenig verwirrt darüber, wie ich eine Absicht öffnen kann, sobald ich die Benachrichtigung erhalten habe.Eröffnungsaktivität nach dem Klicken auf Push-Nachricht android
Zum Beispiel, wenn ich nur wollte, dass die Benachrichtigung mich zu einer Website führt, wie würde das funktionieren? Müsste es unter meiner MessageReceivedActivity oder einem anderen Projekt/Klasse alle zusammen gehen?
Dank
ist hier der Code, den ich für meine 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);
}
}
Wenn ich dies tue, nachdem ich auf meine Push-Benachrichtigung geklickt habe, sehe ich nur die Nachricht "Neue Nachricht erhalten". Vielleicht muss etwas der pendingIntent sagen, um die Absicht zu öffnen? – Kevin
Nevermind, habe es durch deinen Code herausgefunden. Ich musste nur 1 Kleinigkeit ändern. Vielen Dank! – Kevin