Tôi là một noob rất lớn để lập trình Android nên xin lỗi nếu đây là một nhiệm vụ đơn giản. Tôi khá nhiều theo hướng dẫn thông báo đẩy Vogella cho các thông báo đẩy (http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html). Tôi đã đọc một số câu hỏi tràn ngăn xếp khác nhưng tôi hơi bối rối về cách mở mục đích khi tôi nhận được thông báo.Mở hoạt động sau khi nhấp vào thông báo đẩy android
Ví dụ: nếu tôi chỉ muốn thông báo đưa tôi đến một trang web, hoạt động đó sẽ hoạt động như thế nào? Nó có phải đi theo MessageReceivedActivity của tôi hoặc một dự án/lớp khác với nhau?
Cảm ơn
Đây là mã tôi đã cho C2DMMessageReceiver tôi
@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);
}
}
Khi tôi làm điều này, sau khi nhấp vào thông báo đẩy của tôi, tôi chỉ thấy thông báo "Tin nhắn mới nhận được". Có lẽ một cái gì đó cần phải nói với pendingIntent để mở ý định? – Kevin
Nevermind, tìm ra nó thông qua mã của bạn. Chỉ cần thay đổi 1 điều nhỏ. Cảm ơn! – Kevin