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

ウェアラブル マニフェストで定義されたアクション「com.microapp.action.PLAY_MUSIC」を持つアクティビティ (PlayActivity)を持つウェアラブル マイクロ アプリを作成しました。

ウェアラブルの通知からアクションを実行すると、マイクロアプリからのアクティビティが起動されることが期待されます。しかし、何も起こりません。誰かがこれについて助けてくれませんか。それは正しい方法ですか?

4

1 に答える 1

1

通知に追加するアクションは、通知が作成されたデバイス用であるため、携帯電話で通知を作成した場合、時計でクリックすると、アクションが携帯電話に返されて実行されます。

時計でアクティビティを開きたい場合、これまでの方法で携帯電話から通知を送信することによってそれを実現することはできません。いくつかのオプションがあります。たとえば、携帯電話から時計にメッセージを送信し、アプリの着用側でそのメッセージをキャッチして、時計に「ローカル」通知を出すことができます。次に、その通知に対するアクションはウォッチに対してローカルであり、その通知のアクションを介して目的のアクティビティを開くことができます。携帯電話から時計のアクティビティを直接開きたい場合 (つまり、時計に通知を表示する必要がない場合)、通知を作成する代わりに、時計で説明したメッセージを処理できます。そこで、目的のアクティビティを開くだけです。WearCompanionLibraryが見つかる場合があります。これらのケースのいくつかを処理するのに役立ちます。

于 2015-12-17T15:48:02.567 に答える