2014-07-10 9 views
8

AndroidDev

ich eine Intent-Filter haben, die Bilder akzeptiert:Wie kann man vermeiden */* MIME-Typen in Intent Filter

<intent-filter> 
    <action android:name="android.intent.action.SEND_MULTIPLE"/> 
    <category android:name="android.intent.category.DEFAULT"/> 
    <data android:mimeType="image/*"/> 
</intent-filter> 

Aber wenn ich Bilder auswählen und ein Film dann filtrieren noch, obwohl gefangen wird der mimetype ist "*/*"

Gibt es etwas, was ich tun kann, damit meine Anwendung nicht für "*/*" aufgerufen wird? Natürlich kann ich damit umgehen, nachdem meine App gestartet wurde, aber das erscheint mir einfach lächerlich. Ich würde meine App lieber nicht in der Shareliste haben.

+1

Behandeln Sie wirklich jede Zeit des Bildes? Wenn nicht, warum nicht einfach "image/png" usw. für jeden Typ angeben, mit dem du tatsächlich klarkommst? – schwiz

+0

Ich benutze UIL @chwiz, ich bin mir nicht sicher, welche Typen es genau behandelt. Ich glaube jedoch nicht, dass das hier etwas ändern würde. – MikeWallaceDev

+0

Ich dachte, dass vielleicht, wenn Sie keine Wildcards deklariert Android wäre ein wenig strenger. Nur Spekulation. – schwiz

Antwort

0

Leider glaube ich nicht, dass es einen Weg gibt, das zu tun. Wenn Sie in der Lage sein müssen, ein Bild und einen Film gleichzeitig zu haben, benötigen Sie die /. Wenn Sie nur mehrere Bilder ODER mehrere Filme möchten, können Sie möglicherweise zwei verschiedene Intent-Filter einrichten, einen für Bilder und einen für Filme.

+0

Es ist eigentlich ein Fehlerfall, ich will keine Filme, aber meine App kann immer noch mit ihnen aufgerufen werden. – MikeWallaceDev

+0

Warum überprüfen Sie den Typ nicht programmgesteuert und ignorieren die Filmdateien? – Quanturium

+1

Weil es eine schlechte UX ist, dass ich Filme für meine App freigeben lasse und sie dann nicht anzeigen kann. Ich würde es vorziehen, wenn meine App nicht in den Freigabeoptionen erscheint. – MikeWallaceDev

Verwandte Themen