2017-01-18 3 views
0

私はファイルチューザを開いて、ユーザーにZipファイルを選択させる必要があります。ユーザーがzipファイルを選択すると、onActivityResultはdata = nullを返します。私は何が間違っているのか分かりません。Zipファイルのインテントチューザから返される(data = null)onActivityResult

 Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
     intent.setType("application/zip"); 
     startActivityForResult(intent, SELECT_ZIP_FILE); 

これは解決策の1つとして他の質問を探してみました。これはどちらもうまくいかなかった。

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
     intent.addCategory(Intent.CATEGORY_OPENABLE); 
     intent.setType("*/*"); 
     String[] mimetypes = {"application/zip", "text/plain"}; 
     intent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes); 
    } else { 
     intent.setType("application/zip"); 
    } 
    startActivityForResult(intent, SELECT_ZIP_FILE); 

これについての助けに感謝します。

注:setType( "*/*")をMIME_TYPEについて言及せずに使用すると、zipファイルではなくファイルを開くことができます。私は私のマニフェストに記載されている適切な権限を持っています。

+0

"ユーザーがzipファイルを選択した後、onActivityResultはdata = nullを返します" - あなたが 'ACTION_GET_CONTENT'要求を処理するために選択したアプリケーションにバグが表示されます。 – CommonsWare

+0

@CommonsWare別のファイルチューザで開こうとしました。正常に動作します。あなたは正しかった。ありがとうございました。 :) –

答えて

1

ACTION_GET_CONTENT要求がonActivityResult()RESULT_OKを返し、あなたが選択したコンテンツにUriを取得しない場合は、ACTION_GET_CONTENTのリクエストを処理しどんなにバグがあります。残念なことに、あなたがバグのあるアプリを選んだことをユーザーに知らせる以外に、これについてはほとんどできません。

関連する問題