0

我正在通过以下方式从我的手机上的应用程序创建通知。

   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) ,在可穿戴清单中定义了动作“com.microapp.action.PLAY_MUSIC” 。

当我从可穿戴设备的通知中采取行动时,我希望微应用程序的活动能够启动。但什么也没有发生。有人可以帮忙吗?这是正确的方法吗?

4

1 回答 1

1

您添加到通知的操作适用于创建通知的设备,因此如果您在手机上创建通知,当您在手表上单击它时,该操作将发送回您的手机以执行。

如果您想在手表上打开您的活动,则无法通过您的手机以您所做的方式发送通知来实现。您有几个选择:例如,您可以从手机向手表发送消息,然后让应用程序的穿戴端接收该消息并在手表上发出“本地”通知;然后该通知上的操作是您手表的本地操作,您可以通过该通知中的操作打开所需的活动。如果您直接想通过手机打开手表上的活动(即您不需要通知即可显示在手表上),那么您可以处理我在手表上谈到的消息,而不是创建通知在那里,只需打开所需的活动。您可能会找到WearCompanionLibrary在处理其中一些情况时很有用。

于 2015-12-17T15:48:02.567 回答