2013-04-03 30 views
1

我的问题对你有以下几点:我有一个用HTML5编写的网络应用程序,它被封装为原生Android应用程序以便使用Google推送通知。因为我的应用程序出于不同的原因正在使用多个通知,所以我希望能够在每次收到通知时说出要打开的页面,例如在通知意图中添加“href”。这可能吗? 如果我不够清楚,请让我知道。 谢谢Android推送通知打开自定义页面

回答

0

您可以定义自己的通知消息内容。来自Google的消息构建器支持由通知发件人设置的键值对。 见http://developer.android.com/reference/com/google/android/gcm/server/Message.html

例子:

Message message = new Message.Builder() 
    .addData("link1", "http://mypage1.com") 
    .addData("link2", "http://mypage2.com") 
    .build(); 
+0

我已经在使用这个,所以我可以知道每一个通知是什么类型的。但是,一旦通知到达,我不知道如何打开我的应用程序的某个webview。我想有一些Intent对象,我仍在搜索。 – Alex

+0

您可以使用url启动Android浏览器,也可以开始自己的包含webview的活动。 请参阅http://stackoverflow.com/questions/2201917/how-can-i-open-a-url-in-androids-web-browser-from-my-application – userM1433372

0

当您创建的通知,请使用setContentIntent()附加已构建访问权网页的意图:

// assuming <this> is an Activity or other Context 
Intent urlIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(yourUrl)); 
PendingIntent urlPendingIntent = PendingIntent.getActivity(this, 0 urlIntent, 0); 
Notification.Builder b = new Notification.Builder(this) 
    .setSmallIcon(...).setContentTitle(...).setContentText(...) // etc. 
    .setContentIntent(urlPendingIntent); 
NotificationManager noMan 
    = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
noMan.notify(ID, b.build()); 

如果你希望有在通知面板中一次多于一个:

  1. 重新考虑。这是垃圾邮件发布多个通知。
  2. 如果必须,您需要为每个ID分配一个单独的ID(或单独的标签)。