我正在通过以下方式在我的手机上创建通知。
private void launchMicroAppFromWearableNotif() {
int notificationId = 001;
// The below action has been defined in the micro app
Intent i = new Intent("com.microapp.action.PLAY_MUSIC");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent playPendingIntent =
PendingIntent.getActivity(this, 0, i, 0);
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.play_music)
.setContentTitle("Play Music")
.setContentText("Play Music on Wear")
.setContentIntent(playPendingIntent)
.addAction(R.drawable.play_music, getString(R.string.act1), playPendingIntent);
NotificationManagerCompat notificationManager =
NotificationManagerCompat.from(this);
// Build the notification and issues it with notification manager.
notificationManager.notify(notificationId, notificationBuilder.build());
}
我创建了一个可穿戴的微型应用程序,它具有活动(PlayActivity),并且可穿戴Manifest中定义了“com.microapp.action.PLAY_MUSIC”。
当我从可穿戴设备的通知中采取操作时,我希望活动形成微型应用程序。 但没有任何反应 。有人可以帮忙吗? 这是正确的方法吗?
答案 0 :(得分:1)
您添加到通知中的操作适用于创建通知的设备,因此,如果您在手机上创建通知,当您在手表上点击该通知时,该操作将被发送回您的手机被执行。
如果您想在手表上打开活动,则无法通过手机以您的方式发送通知来实现此功能。您有几个选择:例如,您可以从手机向手表发送消息,然后让应用程序的佩戴方抓住该消息并发出“本地”消息。手表上的通知;然后,该通知上的操作对您的手表来说是本地的,您可以通过该通知中的操作打开所需的活动。如果您想直接通过手机在手表上打开活动(即您不需要在手表上显示通知),那么您可以处理我在手表上谈到的消息,而不是创建在那里通知,只需打开所需的活动。您可能会发现WearCompanionLibrary对处理其中一些案件很有用。