Я использую намерение совместного использования, чтобы предоставить пользователю общий доступ к изображению в моем приложении, поэтому, когда пользователь разделяет изображение, моя активность отправляет изображение на сервер и отображается в приложении. Проблема в том, что когда пользователь снова возвращается и возобновляет приложение, то снова происходит тот же процесс намерений.Намерение получить снова при возобновлении активности
вот цель код обработки, который я звоню в onCreate()
методе
public void handleIntents(){
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
if (Intent.ACTION_SEND.equals(action) && type != null) {
if ("text/plain".equals(type)) {
// handleSendText(intent); // Handle text being sent
} else if (type.startsWith("image/")) {
handleSendImage(intent); // Handle single image being sent
}
} else if (Intent.ACTION_SEND_MULTIPLE.equals(action) && type != null) {
if (type.startsWith("image/")) {
//handleSendMultipleImages(intent); // Handle multiple images being sent
}
} else {
// Handle other intents, such as being started from the home screen
}
}
вот манифест декларации
<activity
android:name=".HomeScreen"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
<!-- <data android:mimeType="audio/*" />
<data android:mimeType="video/*" />-->
</intent-filter>
</activity>
Так что, когда я потреблял намерение, то это не должно произойти, если новое намерение снова создается.
Примечание: предлагаю создать такую же ситуацию, попробуйте код в вашей системе.
Что я хочу; Я разделяю изображение из галереи на эту app.Now я нажимаю тогда открыть эту деятельность из списка недавних,
Он не должен пытаться повторно отправить изображение.
Когда я возвращаюсь и снова выбираю изображение и делюсь с моим приложением, то он должен.
Добавление к @force будет отвечать, если вы все еще хотите сохранить намерение загружать данные из него или что-то еще, вы можете использовать условие, когда 'onCreate (android.os.Bundle) 'вызывается с ненулевым Bundle, вы повторно используете предыдущую деятельность, чтобы вы знали, что вам нужно обрабатывать ее по-разному. Кроме того, вы можете установить дополнительное для намерения не потерять свои данные, но знать, что он уже обработан – eduyayo
спасибо, но это все еще происходит – Amar
Попробуйте это в своей деятельности '@Override protected void onNewIntent (намерение намерения) {супер. onNewIntent (намерение); setIntent (намерение); } ' – forcewill