2017-09-18 1 views
-5

J'ai un problème en ce que mon envoi Activity est encore visible après avoir tué app. Comment fermer tous Activity lorsque l'application est supprimée?L'activité d'envoi est toujours visible une fois l'application supprimée

Description détaillée

J'ai une envoyer méthode Intent dans onDownloadStart qui affiche l'utilisateur une liste des applications possibles pour « envoyer une image », ici vous allez:

Intent sendIntent = new Intent(); 
sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_GRANT_READ_URI_PERMISSION); 
sendIntent.setAction(Intent.ACTION_SEND); 
File filePath = new File(String.valueOf(context.getFilesDir())); 
File newFile = new File(filePath, fileName); 
sendIntent.putExtra(Intent.EXTRA_STREAM, FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".FileProvider", newFile)); 
sendIntent.setType(intentType); 
context.startActivity(sendIntent); 

Ce code EST fonctionne comme je veux avec l'exception ONE. Le Activity avec le choix de l'application pour envoyer l'image est encore visible lorsque je tue l'application. C'est tout - pas d'erreurs dans la console.

+0

Votre question est trop large et difficile à comprendre! – Xenolion

+0

Afficher la description détaillée et du code pour cela. – KeLiuyue

+0

tout fonctionne, pas d'erreurs etc, les journaux ne disent rien Juste un problème simple et vous êtes downvoting la question :( – soommy12

Répondre

0

Votre problème est ici:

sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_GRANT_READ_URI_PERMISSION); 

Vous commencez le Activity de choisir une application pour envoyer une nouvelle tâche. Lorsque vous supprimez votre tâche de la liste des tâches récentes (c'est ce que fait "glisser votre application de la liste des nouveautés"), l'autre tâche que vous avez démarrée est toujours en ligne. Il suffit de retirer Intent.FLAG_ACTIVITY_NEW_TASK de l'appel setFlags() et le sélecteur devrait se terminer dans la tâche de votre application, et donc disparaître lorsque vous faites glisser la tâche de votre application de la liste des derniers.

En outre, votre utilisation du mot Intent prête à confusion. Un Intent n'est jamais visible. C'est juste un petit peu de données utilisées pour demander à Android de lancer un certain composant. Vous voulez dire Activity, pas Intent. Ajouter du code et des journaux si possible.

+0

Comme je l'ai dit dans un autre commentaire, je ne peux pas enlever ce drapeau parce que cette 'Activity' est appelée depuis l'extérieur de la' Activity' principale et j'obtiendra 'android.util.AndroidRuntimeException' – soommy12

+0

Veuillez poster votre manifeste entier. –

+0

Quel code appelle ce code? –