Überprüfen Sie die Benutzeraktion auf Intent.ACTION_VIEW

8

Ich habe eine Liste mit einigen Dateien gefüllt, kann es verschiedene Arten wie PDF oder Dokumente.Wenn ein Benutzer auf einen klickt, bekomme ich die Datei MIME-Typ und starten Sie eine Absicht, die der Benutzer wählen Sie die Anwendung, um das zu öffnen datei.Was ich will, ist zu wissen, ist ein Benutzer etwas gewählt, oder drückte einfach zurück und wählte nichts. Was ich bis jetzt versucht habe, war, ein startActivityForResult zu machen und nach Erfolg zu suchen, aber es gibt immer RESULT_CANCELED

zurück %Vor%

Ich habe sogar mit einem startActivityForResult (Intent.createChooser) versucht, aber immer noch ohne Erfolg. Wie kann ich wissen, ob der Benutzer etwas auf dieser Liste ausgewählt hat oder ob er das Öffnen abgebrochen hat?

    
sokie 05.10.2012, 10:24
quelle

3 Antworten

6

Wie in Android Developer unter Aktivitäten

  

In anderen Protokollen (wie ACTION_MAIN oder ACTION_VIEW) erhalten Sie das Ergebnis möglicherweise nicht erwartungsgemäß.

Sie können sich nicht darauf verlassen, dass Aktionsansichten das zurückgeben, was Sie erwarten würden. Daher habe ich ein benutzerdefiniertes Warndialogfeld implementiert, das alle möglichen Anwendungen zeigt, die eine bestimmte Datei öffnen können, eine leicht modifizierte Version, wie hier gezeigt Custom intent chooser

Code für diejenigen, die sich wundern, es nimmt einen filePath als Parameter und zeigt Ihnen alle installierten Anwendungen, die mit diesem Dateityp umgehen können, indem Sie die Mimetype.Works mit Fullpaths.Can mit

aufgerufen werden %Vor%

Dies ist die Klasse, sie kann einen optionalen Delegaten auch für Aktivitätsrückrufe verwenden

%Vor%     
sokie 05.10.2012, 12:16
quelle
-2

versuche das ..

%Vor%     
Mehul Santoki 05.10.2012 12:00
quelle
-2

probiere

aus
  

if (resultCode == RESULT_CANCELED) anstelle von   if (resultCode == Activity.RESULT_CANCELED)

    
VENKI.B 29.10.2013 12:08
quelle

Tags und Links