智能手表的动作通知

时间:2014-09-06 11:44:52

标签: java android notifications wear-os

我试图在通知中添加特殊操作,以便我可以使用智能手表远程控制应用。

这是我目前的代码:

NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle("Control Notification");
builder.setContentText("With this notification I should be able to control the app with my watch.");
builder.setSmallIcon(R.drawable.ic_launcher);
Intent actionIntent = new Intent(this, MainActivity.class);
actionIntent.putExtra("action", true);
PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0, actionIntent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.addAction(R.drawable.ic_launcher, "action", resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, builder.build());

问题在于每次我用手表触发动作时,我的手机上都会打开一个新的活动。但我想重用旧的活动。我需要改变什么?

顺便说一句:如果您对我的代码有任何其他提示或改进,请随时告诉我。

1 个答案:

答案 0 :(得分:0)

实现它的最简单方法是在singleInstance文件中将您的活动声明为AndroidManifest.xml。您需要在相关活动代码中添加android:launchMode="singleInstance"

但这实际上取决于你想要达到的目标。使用singleInstance启动模式,它会将此活动的任何现有实例重新排序到前面(因此它将从堆栈中的旧位置删除)。

告诉您的结构是否合适:)