2017-05-13 2 views
1

I-Code für Open-Explorer haben wie dieseIntent.ACTION_GET_CONTENT Fehler in API-19 aber nicht in API 23

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
intent.setType("file/*"); 
startActivityForResult(intent,PICKFILE_RESULT_CODE); 

und es funktioniert ist, wenn ich in meinem Handy API 23 versuchen, aber wenn ich versuche, in Telefon-API 19 . Fehler wie diese

No Activity found to handle Intent { act=android.intent.action.GET_CONTENT typ=file/* } 

, wie das beheben?

+1

Wechsel zu '" */* "'. – greenapps

Antwort

1

eine solche Operation umgehen kann Es gibt keine offizielle MIME-Typ, der mit file/ beginnt. Wenn Sie nach MIME-Typen filtern möchten, müssen Sie echte MIME-Typen verwenden.

Oder, wie Green Apps in einem Kommentar vorgeschlagen, verwenden Sie */*, um jede Art von Inhalt zu akzeptieren.

und es funktioniert ist, wenn ich in meinem Handy API 23 versuchen, aber wenn ich in Telefon-API versuche 19

Auf Ihrem API Stufe 23 Telefon, installieren Sie einige App, die eine nicht unterstützen behauptet Existierender MIME-Typ, der mit file/* beginnt.

0

Mit welchem ​​Telefon testen Sie es? Android Intent Dokumentation schlägt vor, dass für etwas so breit wie eine Datei/* MIME-Typ

In diesem Fall sollten Sie die get_content Absicht mit einem Chooser wickeln (durch createChooser (Intent, CharSequence)), die die ordnungsgemäße geben Schnittstelle für den Benutzer zu wählen, wie Sie Ihre Daten senden und können Sie eine Eingabeaufforderung angeben, was sie tun. Normalerweise geben Sie einen breiten MIME-Typ an (z. B. image/* oder /). Dies führt zu einer großen Auswahl an Inhaltstypen, aus denen der Benutzer auswählen kann.

https://developer.android.com/reference/android/content/Intent.html#ACTION_GET_CONTENT

Mit nur die Art von Daten spezifizieren Sie wollen, und den Start die Aktivität ist es nicht den Fall behandeln, wo das Telefon auf Ihren Lauf keine App hat, die eine Aktivität hat angegeben, dass die Art von a zu handhaben Datei.

In diesem Fall müssen Sie dem Benutzer vorschlagen möchten, können einen Antrag zu installieren, die

Verwandte Themen