2

我创建了一个简单的应用程序,它监听来自其他应用程序的通知事件。我收到了 StatusBarNotification 对象并从中获得了 WearableExtender。然后我得到了扩展器所拥有的 remoteInputs。

然后使用这段代码用我自己的文本填充远程输入并发送pendingIntent:

RemoteInput[] remoteInputs = new RemoteInput[notificationWear.remoteInputs.size()]; 
 Intent localIntent = new Intent();
 localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 Bundle localBundle = notificationWear.bundle;
  int i = 0;
 for(RemoteInput remoteIn : notificationWear.remoteInputs){ getDetailsOfNotification(remoteIn);
  remoteInputs[i] = remoteIn;
 localBundle.putCharSequence(remoteInputs[i].getResultKey(), "Our answer"); //This work, apart from Hangouts as probably they need additional parameter (notification_tag?)
 i++;
 }
 RemoteInput.addResultsToIntent(remoteInputs, localIntent, localBundle);
 try {
 notificationWear.pendingIntent.send(MainActivity.this, 0, localIntent);
 } catch (PendingIntent.CanceledException e) 
 { 
 Log.e(TAG, "replyToLastNotification error: " + e.getLocalizedMessage());
 }

但是消息来源声称此代码应该可以工作,我只能打开特定的应用程序和特定的对话,但无法发送回复。我已经在 Facebook、WhatsApp 和其他应用程序中尝试过。其他应用程序也是如此。

4

0 回答 0