私はファイルチューザを開いて、ユーザーに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ファイルではなくファイルを開くことができます。私は私のマニフェストに記載されている適切な権限を持っています。
"ユーザーがzipファイルを選択した後、onActivityResultはdata = nullを返します" - あなたが 'ACTION_GET_CONTENT'要求を処理するために選択したアプリケーションにバグが表示されます。 – CommonsWare
@CommonsWare別のファイルチューザで開こうとしました。正常に動作します。あなたは正しかった。ありがとうございました。 :) –