我尝试从Intent.ACTION_SEND发送到PrinterShare应用程序(我已经购买了声称可以从应用程序内部存储打印文件的高级版本),从应用程序的内部存储器打印PDF文件。 我已经看了这个 , 这是复制我的文件到内部缓存感谢这一点 ,似乎PrinterShare应用程序获取我的文件,但不是“完全” – 它无法呈现文件,当我打印,它只是推出一个空的文件。 随着共享意图,我可以选择其他应用程序,如Gmail和普通的蓝牙,然后我可以发送PDF文件作为电子邮件附件或通过蓝牙到我的个人电话,它完美呈现。 只是当我尝试将其分享到Google照片,环聊,然后还有PrinterShare应用时,出现了一些奇怪的错误。 那么,如何调试一个只发生在有时候的问题呢? 在我的代码之前,我在内部存储中创建文件,如下所示: val savePdf = File(view.filesDir, "printthis.pdf") 这是我的共享意图建设(Kotlin): override fun printPdf() { copyFileToInternal() val uri = Uri.parse("content://my.package.android.app/printthis.pdf") Log.d("Print PDF from $uri") val shareIntent = Intent(Intent.ACTION_SEND) shareIntent.type = "image/*" shareIntent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION shareIntent.putExtra(Intent.EXTRA_STREAM, uri) (view as Context).startActivity(Intent.createChooser(shareIntent, "Print PDF")) } 这是copyFileToInternal函数: private fun copyFileToInternal() { try { […]