Absichtsfilter nur für Dateien

In unserer App möchten wir im Menü "Share via" erscheinen. So haben wir diesen Intent-Filter zu unserer Tätigkeit hinzugefügt:

<intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="application/*" /> <data android:mimeType="audio/*" /> <data android:mimeType="image/*" /> <data android:mimeType="text/*" /> <data android:mimeType="video/*" /> </intent-filter> 

Es funktioniert und unsere App erscheint im Menü Freigeben.

  • Was ist der Unterschied zwischen DVM und ART? Warum wurde DVM offiziell mit ART in Lollipop ersetzt?
  • Kamera-Absicht nicht mit Samsung Galaxy S3 arbeiten
  • TransformClassesAndResourcesWithProguardForRelease FAILED
  • Wie man Android Spinner ohne Down Dreieck auf der rechten Seite des Widgets zu schaffen
  • GetActivity () gibt null in Fragment-Funktion zurück
  • Einstellen von itemId im Optionsmenü
  • Trotzdem macht der Absichtsfilter nicht genau das, was wir erreichen wollen:

    1. Wir wollen im Menü für alle Dateien erscheinen, was auch immer es Mime-Typ ist
    2. Wir wollen nur für Dateien erscheinen. Und bis jetzt, wenn der Benutzer einen einfachen Text teilen möchte, da sein Mime-Typ Text / Plain ist, erscheint unsere App im Menü und wir wollen es nicht.

    Was wäre der richtige Intent-Filter für alle Dateien und nur für Dateien?

    Danke im Voraus.


    Wir haben versucht, scheme = file und host = "" oder "*" hinzuzufügen und es funktioniert nicht so viele app verwenden ein scheme = content, um dateibasierte Inhalte freizugeben.

  • Alternative zu dex2jar und jd-GUI?
  • Android Canvas hat den Pfad nicht weggezogen, wenn der Pfad aus der Sicht ist
  • Soll ich OkHttp mit Volley-Bibliothek benutzen?
  • WebView mit 30% im Hintergrund in WebViewCoreThread
  • Android - android.os.NetworkOnMainThreadException
  • Android: Verwenden von SimpleCursorAdapter, um Daten von der Datenbank zu ListView zu erhalten
  • 2 Solutions collect form web for “Absichtsfilter nur für Dateien”

    Wir wollen im Menü für alle Dateien erscheinen, was auch immer es Mime-Typ ist

    Versuchen Sie einen MIME-Typ von */* .

    Wir wollen nur für Dateien erscheinen. Und bis jetzt, wenn der Benutzer einen einfachen Text teilen möchte, da sein Mime-Typ Text / Plain ist, erscheint unsere App im Menü und wir wollen es nicht. Wir haben versucht, scheme = file und host = "" oder "*" hinzuzufügen und es funktioniert nicht so viele app verwenden ein scheme = content, um dateibasierte Inhalte freizugeben.

    Dann haben zwei <data> -Elemente, eine für ein Schema von content und eine für ein Schema der file .

     <data android:mimeType="*/*" /> <data android:scheme="content" /> <data android:scheme="file" /> 

    Denken Sie jedoch daran, dass ein content nicht bedeutet, dass es unbedingt eine Datei ist.

    1. Wenn du für einen beliebigen Mime-Typ aufgerufen werden möchtest, platziere keinen einzigen Minen-Typ in den Filter
    2. scheme="file" ist die Antwort, um nur auf Dateien zu laufen. Jetzt, wenn die Drittanbieter-Bewerbung die Daten als content übergibt, dann ist es (durch defiinition) keine Datei mehr
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.