Otwieranie aktywności po kliknięciu powiadomienia push w systemie Android
Jestem wielkim noobem w programowaniu na Androida, więc przepraszam, jeśli jest to proste zadanie. Prawie śledziłem samouczek powiadomienia push Vogella dla powiadomień push (http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html). Przeczytałem kilka innych pytań dotyczących przepełnienia stosu, ale jestem trochę zdezorientowany, jak otworzyć intencję po otrzymaniu powiadomienia.
Na przykład, jeśli chciałbym, aby powiadomienie doprowadziło mnie do strony internetowej, jak to działa? Czy będzie musiał przejść pod moim MessageReceivedActivity lub innym projektem / klasą razem?
Dzięki
Oto kod, który mam dla mojego C2DMMessageReceiver
<code>@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); } </code>
}