Intent extras не обновляет

Я пытаюсь получить строку из браузера. Я использовал действие SEND в AndroidManifest.xml

<intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> </intent-filter> 

В MainActivity.java у меня есть следующий код

 @Override public void onResume() { super.onResume(); Intent receivedIntent=getIntent(); etSearch.setText(getStringFromIntent(receivedIntent)); } public String getStringFromIntent(Intent receivedIntent) { // get the action String receivedAction = receivedIntent.getAction(); // find out what we are dealing with String receivedType = receivedIntent.getType(); if (receivedAction.equals(Intent.ACTION_SEND)) { if (receivedType.startsWith("text/")) { // get the received text String receivedText = receivedIntent .getStringExtra(Intent.EXTRA_TEXT); // check we have a string if (receivedText != null) { // set the text return receivedText.trim(); } } } return ""; } 

Впервые я стараюсь, чтобы все работало правильно Введите описание изображения здесь

Когда я пытаюсь это сделать, текст не обновляется Введите описание изображения здесь

Я думал, что это из-за onCreate (). Поэтому я переместил код в onResume (). Ничего не произошло.

В соответствии с этим решением я добавил receivedIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); а также

 protected void onNewIntent(Intent intent) { super.onNewIntent(intent); this.setIntent(intent); } 

Нет эффекта.

Что мне делать, чтобы обновить намерение дополнительно?

Используйте FLAG_UPDATE_CURRENT при создании своего PendingIntent для обновления дополнительных функций из нового намерения.

Дополнительные намерения не удаляются / не заменяются

или

PendingIntent.FLAG_ONE_SHOT

 private void send(Intent intentShowApp) { PendingIntent showAppPendingIntent = PendingIntent.getActivity(context, 0, intentShowApp, PendingIntent.FLAG_ONE_SHOT); try { showAppPendingIntent.send(); } catch (CanceledException e) { e.printStackTrace(); } }