发送PDF文件作为邮件或提供应用程序直接查看文件

我的Android 4+应用程序可以创buildPDF格式的不同报告。 知道我想提供用户select通过邮件发送文件或打开任何可以处理PDF文件的应用程序。 目前我使用下面的代码:

Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("application/pdf"); Uri uri = Uri.parse("file://" + reportFile.getAbsolutePath()); intent.putExtra(Intent.EXTRA_STREAM, uri); try { startActivity(Intent.createChooser(intent, "Share PDF file")); } catch (Exception e) { Toast.makeText(ReportsActivity.this, "Error: Cannot open or share created PDF report.", Toast.LENGTH_SHORT).show(); } 

这工作正常,除了只提供“发送”的应用程序,如蓝牙,谷歌驱动器,电子邮件等。我安装了Acrobat Reader应用程序,当然可以查看PDF文件。 但是这个应用程序也只列出了“发送签名”,而不是“打开在阅读器”或类似的东西。

我认为ACTION_SEND意图意味着“发送到其他应用程序”,而不是“发送到别的地方”。 我可以用什么意图包括“打开”选项?

Related of "发送PDF文件作为邮件或提供应用程序直接查看文件"

我可以用什么意图包括“打开”选项?

ACTION_VIEW用于查看文件。

 startActivity(new Intent(Intent.ACTION_VIEW).setDataAndType(Uri.fromFile(reportFile), "application/pdf"))); 

我认为ACTION_SEND意图意味着“发送到其他应用程序”,而不是“发送到别的地方”。

不, ACTION_SEND是发送的东西。 这包括在某些情况下(例如,发送到Google云端硬盘)“在另一个应用中发送给自己”,但它并不专门用于查看文件。