点击推送通知后,Android的开放活动通知、Android

2023-09-04 05:48:44 作者:如花美眷

我是一个巨大的小白到Android编程很抱歉,如果这是一个简单的任务。我pretty的多跟着Vogella推送通知教程推送通知(http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html)。我读过一些其他的堆栈溢出的问题,但我对如何当我收到通知开的意图有点糊涂了。

I am a huge noob to Android programming so sorry if this is a simple task. I pretty much followed the Vogella push notification tutorial for push notifications (http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html). I've read some other stack overflow questions but I'm a little confused on how to open a intent once I receive the notification.

例如,如果我只是想通知来领我到一个网站,如何将这项工作?难道都在我MessageReceivedActivity或其他项目/班走在一起?

For example, if I just wanted the notification to lead me to a website, how would that work? Would it have to go under my MessageReceivedActivity or another project/class all together?

感谢

下面是code我有我的C2DMMessageReceiver

Here is the code I have for my 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);

}

}

推荐答案

如果你想打开的通知点击一个网站试试这个:

if you want to open a website on notification click try this:

    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("android.intent.action.VIEW", 
         Uri.parse("http://my.example.com/"));
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
                intent, 0);
        notification.setLatestEventInfo(context, "Message",
                "New message received", pendingIntent);
        notificationManager.notify(0, notification);

    }