Android11写入文件,android - 无法在Android 11中写入和打开文件 - 堆栈内存溢出
在我的应用程序中,按钮事件从服务器返回PDF的base64字符串。 然后,我将此base64写入文件。 并尝试通过外部PDF查看器打开它。 它在Android设备(除Android 11之外)上均可正常运行。请在下面查看我的代码。
byte[] decodedContent = android.util.Base64.decode(base64.getBytes(), Base64.DEFAULT);
try {
File path = new File(getApplicationContext().getExternalFilesDir(null).getAbsolutePath(), "PDFData");
if (!path.exists()) {
path.mkdirs();
}
file = new File(path, "myPDF.pdf");
outputStream = new FileOutputStream(file);
outputStream.write(decodedContent);
outputStream.close();
Uri targetUri = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(targetUri, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PackageManager pm = getApplicationContext().getPackageManager();
i
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!