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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部