2016-05-03 8 views
0

私のアンドロイドアプリケーションからサーバーにpdf、ppt、docなどのファイルをアップロードしていますが、ファイル選択ダイアログが開いて私のSdcardまたは内部ストレージ
1.画像、ビデオ、文書などのすべてのファイルを表示しますが、私は選択できませんが、アプリケーション/ pdfとしてインテントタイプを使用しています。 appkication/pptなど、私はそれらのファイルを選択する必要があります。
2.第二に、ESファイルエクスプローラなどの外部ファイルマネージャを使用すると、イメージ、ビデオ、ドキュメント、apkなどのすべてのファイルが表示され、今度は任意のタイプのファイルを選択できるようになります。
ここはファイルチューザMARSHAMALLOWファイルチューザーのpdf、doc、pptのようなファイルを選択できません

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
      intent.setType("application/pdf;application/docx;application/xlsx;application/pptx;application/pptx;application/txt"); 
      startActivityForResult(intent, PICK_FILE_REQUEST); 

私はマシュマロを使用していますが、私は他のデバイスを持っていけないとして、それはマシュマロでのみ発生考える上で、このコードをテストするためにearbyので、ここで私を助けてくれてありがとう

私はこの

ようにそれを試してみました
intent.setType("application/pdf|application/docx|application/xlsx|application/pptx|application/txt"); 

しかし、それは私が任意のファイルを選択することはできませんでしたが、私は、pdfやdocxのような1つのMIMEタイプを使用する場合、それは動作し、私はpdfまたはdocxを選んでインターネットで検索し、それは|の代わりに ;ほとんどのユーザーはうまく動作しますが、私のためにはいけません。

+0

'setType()'はセミコロンで区切られた型のリストを取っていません。 * single * MIMEタイプをとります。 – CommonsWare

+0

大丈夫ですが、doc、pdf、ppt、xlsなどのすべてのタイプの文書を選びたいのであれば、どうすればいいですか?> @commonsWare – SinGhHarpAl

+1

私はこれを試しました 'intent.setType( "application/pdf | application/docx | application/xlsx | application/pptx | application/txt "); ' しかし、それは私が任意のファイルを選ぶことができましたが、私は、PDFやdocxのような1つのMIMEタイプを使用し、それが動作し、私はpdfやdocxを選んで私はインターネットを検索し、この方法を使用して|の代わりに ;ほとんどのユーザーはうまく動作しますが、私のためにはいけません。 – SinGhHarpAl

答えて

1

setType()は、パイプで区切られたタイプのリスト、またはセミコロンで区切られたタイプのリストを取りません。 シングル MIMEタイプが必要です。

APIレベル19以降のデバイスでは、Intent(追加のMIMEタイプのString[])にはadd EXTRA_MIME_TYPESを歓迎します。理論的には、ACTION_GET_CONTENTの実装でこれを賞賛すべきです。実際には、私は少ししか期待していません。 ACTION_GET_CONTENTはアプリ開発者の実装に依存しているのに対し、Androidはそれ自体を実装しているという点で、より信頼性の高いものになる可能性があります。

IntentACTION_GET_CONTENTです(コンテンツをリクエストしています)ので、application/*を使用できますが、サポートしていないファイルタイプがいくつかあります。

それ以外の場合は、一度に1つのMIMEタイプのみを要求してください。

+0

はい、それは私がやったことです。私は 'application/*' を使用しましたが、それは私にapkなどの他の多くの種類のアプリケーションを与えています。 しかし、私は19 + Apiで余分なMIMEタイプのString []を使用することができますし、私はマシュマロがあるので、うまくいくでしょうか? – SinGhHarpAl

関連する問題