我有一个android apk扩展文件,并且有一些PDF文件。 在官方文档中,他们通过Inputstream访问.obb中的文件。我可以通过输入流访问.obb中的文件。
现在我想将其中一个文件附加到带有Intent的电子邮件中。电子邮件意图与资产中的文件完美配合,因此问题在于附加了输入流。
如何直接从.obb?
将PDF附加到邮件中答案 0 :(得分:0)
解决了!
您必须将Inputstream转换为Temorary File,获取该文件的Uri并将其附加到电子邮件Intent。
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("application/pdf");
try {
ZipResourceFile expansionFile = new ZipResourceFile("Path to .obb file");
InputStream fileStream = expansionFile.getInputStream("Path inside .obb");
String downloadordner = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString(); //used for temp storage
File tempFile = new File(downloadordner+"/"+"filename.pdf");
tempFile.deleteOnExit();
FileOutputStream out = new FileOutputStream(tempFile);
IOUtils.copy(fileStream, out);
Uri theUri = Uri.fromFile(tempFile);
i.putExtra(Intent.EXTRA_STREAM, theUri);
startActivity(Intent.createChooser(i, "PDF versenden..."));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(preisliste.this, "Es wurde kein E-Mail Client gefunden.", Toast.LENGTH_SHORT).show();
}
catch (IOException e)
{
Log.v("Datei nicht gefunden","Main Expansion");
}