2016-03-26 5 views
0

Ich habe ein Problem mit der Registrierung meiner Dateierweiterung (z. B. .abc), um meine Anwendung zu öffnen.Dateierweiterung als Intent-Filter für meine Anwendung registrieren

Derzeit mein Manifest enthält:

<activity 
     android:name=".view.MainActivity" 
     android:label="@string/app_name" 
     [...] > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:host="*" /> 
      <data android:scheme="file" /> 
      <data android:mimeType="*/*" /> 
      <data android:pathPattern=".*\\.abc" /> 
     </intent-filter> 
</activity> 

Mit diesem Code Ich bin in der Lage eine .abc Datei öffnen von „ES Datei Explorer“ mit meiner Anwendung, aber wenn ich den Standard-Dateibrowser von meinem Gerät (LG G3) oder verwenden Sie eine Dateiverknüpfung von meinem Startbildschirm, Android versucht, die .abc-Datei mit einem PDF-Viewer von Google Text & Tabellen zu öffnen.

Ich habe auch verschiedene Varianten mit den Kategorien BROWSABLE, ALTERNATIVE und SELECTED_ALTERNATIVE ausprobiert.

Warum führt Android unterschiedliche Absichten aus und wie kann ich erreichen, dass .abc-Dateien immer mit meiner Anwendung geöffnet werden?

Ich hoffe, Sie können mir helfen, danke für Ihre Zeit.

Antwort

0

"Android versucht, die .abc-Datei mit einem PDF-Viewer aus Google Text & Tabellen zu öffnen." ist nicht sehr klar. Ich denke, Sie meinen, dass es tatsächlich mit PDF-Viewer öffnet, ohne Sie zu fragen, welche App Sie verwenden möchten, um die Datei anzuzeigen.

Wenn Sie (als Benutzer) gewählt haben, um immer .abc-Dateien mit PDF-Viewer zu verarbeiten, dann ist dies die App, die .abc-Dateien verarbeitet. Sie müssen diese Einstellung in den Einstellungen Ihres Geräts löschen.

+0

Es versucht, die Datei zu öffnen, schlägt aber fehl, weil es keine PDF-Datei ist. Es scheint, dass diese Einstellung festgelegt wurde. Daher habe ich die Google Docs App zurückgesetzt. Es versucht immer noch, die .abc mit dem PDF-Viewer zu öffnen. – lost1994

+0

Das Interessante ist, dass wenn ich die Datei in .bcd umbenenne (versuchte verschiedene Erweiterungen) Android versucht immer noch, es mit dem PDF-Viewer zu öffnen. Die Meldung von ActivityManager in LogCat lautet 'START u0 {act = android.intent.action.VIEW dat = Datei: ///storage/emulated/0/APPLICATIONDIR/FILENAME.bcd flg = 0x10000000 cmp = com.google.android.apps .docs/com.google.android.apps.viewer.PdfViewerActivity bnds = [0,850] [288,1220]} von der uid 10029 auf dem Display 0' – lost1994

+0

versuche, eine Absicht zu machen mit Intent chooser = Intent.createChooser (intent, title); startActivity (Auswahl); Dies zeigt eine Liste von Apps, die mit der bestimmten Absicht umgehen können. Wenn Ihre App auf dieser Liste angezeigt wird, wissen Sie, dass Sie richtig funktioniert haben – Anonymous

Verwandte Themen