在微型应用程序上启动 activity(android 可穿戴设备)

Launching an activity on micro app (android wearable)

我正在通过以下方式在 Phone 上从我的应用创建通知。

   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());
}

我创建了一个可穿戴微型应用程序,它有一个 activity(PlayActivity) 和动作 "com.microapp.action.PLAY_MUSIC"在 wearable Manifest 中定义。

当我从可穿戴设备上的通知中执行 操作 时,我希望微应用程序的 activity 表单能够启动。 但是没有任何反应。有人可以帮忙吗? 这样做正确吗?

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

如果您想在手表上打开 activity,您无法通过 phone 以上述方式发送通知来实现。您有几个选择:例如,您可以从 phone 向手表发送一条消息,然后让应用程序的磨损端捕获该消息并在手表上发出 "local" 通知;那么该通知上的操作是您手表的本地操作,您可以通过该通知中的操作打开所需的 activity。如果你直接想从你的 phone 打开你手表上的 activity (即你不需要通知显示在你的手表上),那么你可以处理我在您的手表,而不是在那里创建通知,只需打开所需的 activity.You 可能会发现 WearCompanionLibrary 在处理其中一些情况时很有用。