0
アセットフォルダからローカルディレクトリにファイルをコピーし、ファイルを開きます。アンドロイドノーガットは開いていません。ファイルをアセットフォルダからローカルディレクトリにコピーしてファイルを開きます。android nougat
ファイルをコピーして開くコードです。
public void openSample(Context context) {
try {
copyFile(context.getAssets().open("sample.xlsx"), new FileOutputStream(new File(Environment.getExternalStorageDirectory() , "Download/sample.xlsx")));
File excelFile = new File(Environment.getExternalStorageDirectory() , "Download/sample.xlsx");
Uri path = null;
Intent intent = null;
intent = new Intent(Intent.ACTION_VIEW);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
path = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".provider", excelFile);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
} else {
path = Uri.fromFile(excelFile);
}
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setDataAndType(path, "application/vnd.ms-excel");
context.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
}
private void copyFile(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int read;
while ((read = in.read(buffer)) != -1) {
out.write(buffer, 0, read);
}
if (out != null) {
out.close();
}
}
ファイルを開くときにエラーが表示される場合は、下記の添付ファイルを確認してください。事前に
感謝。
マシュマロでのテストはどうですか? –
'android nougat is not opening' ??アンドロイド・ヌガット? Android Nougatはファイルを開こうとしません。 Androidはファイルをまったくオープンしません。ファイルは特殊なアプリケーションによって開かれます。そのメッセージを表示するのはどのアプリですか? – greenapps
@Royそれはマシュマロでうまくいきます。 –