我只是在Wear设备上成功创建了一堆页面通知。
唯一的问题是PendingIntent似乎没有启动Activity (当然在Manifest中声明)。
这是我的代码:
List extras = new ArrayList();
Intent viewIntent = new Intent(getApplicationContext(), DetailActivity.class);
viewIntent.putExtra("KEY", "TEST123");
//Note: I also tried: Intent viewIntent = new Intent(getApplicationContext(), DetailActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent viewPendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, viewIntent, 0);
for (Route aRoute : myRoutes) {
Notification aNotif = new NotificationCompat.Builder(getApplicationContext())
.setContentTitle("BUS " + aRoute.route_short_name)
.setContentText(aRoute.directions.get(0).trip_headsign)
.setLargeIcon(bitmap)
.setContentIntent(viewPendingIntent)
.setSmallIcon(R.mipmap.ic_launcher).build();
extras.add(aNotif);
}
NotificationCompat.Builder builder1 = new NotificationCompat.Builder(this)
.setContentTitle(title)
.setContentText(desc)
.setContentIntent(viewPendingIntent)//Just in case
.setSmallIcon(R.mipmap.ic_launcher);
Notification notification = builder1
.extend(new NotificationCompat.WearableExtender()
.addPages(extras))
.setContentIntent(viewPendingIntent)//Just in case
.build();
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.notify(0, notification);
当我按下通知时,我希望意图开始,但没有任何反应......
欢迎提出任何建议。
编辑: 这个代码在通知之后就可以工作了,因此,第二个活动可以很容易地用bug启动:
startActivity(viewIntent);
EDIT2: 现在有一个“打开”按钮,工作正常,但个别通知(每个页面)仍然没有任何结果
答案 0 :(得分:1)
我说'手机生成'你也可以create a Wear app。通过使用data layer将消息推送到Wear应用程序,Wear应用程序可以构建custom notifications。这些通知允许您使用setDisplayIntent()并在线显示活动(作为主页面或单独的页面)。当然,这些活动可以包含您想要的任何视图,包括执行任何操作的操作(例如将消息发送回电话以启动特定活动)。
请注意,由于默认情况下页面不可点击,因此自定义通知的样式设置应使项目可点击非常明显。您可以考虑使用setContentAction()来显示与布局其余部分内联的操作图标,而不是使用自定义通知活动 - 这会将操作作为单独元素移除,并将其直接放在通知/页面上