我创建了一个简单的应用程序,用于侦听来自其他应用程序的通知事件。我收到了StatusBarNotification对象,并从中获取了WearableExtender。然后我得到了扩展器所具有的remoteInput。
然后使用此代码用我自己的文本填充remoteinput并发送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和其他应用程序。其他应用程序也是如此。