如何在android中打开.png或.doc文件
如何在新活动中在android中打开.png或.doc文件。使用png,您可以使用如何在android中打开.png或.doc文件,android,Android,如何在新活动中在android中打开.png或.doc文件。使用png,您可以使用 除非您想自己编写解析器,否则实际上没有任何方法可以读取DOC文件。你可以试试,但你还是得自己把它画到屏幕上。我知道这个问题问了很久了(Kotlin还没出生:),但也许有人会发现我的答案很有用 如果要打开图像(.png、.jpg、.jpeg)或文件(.doc或.docx),则可以执行以下操作: JAVA Intent intent = new Intent(Intent.ACTION
除非您想自己编写解析器,否则实际上没有任何方法可以读取DOC文件。你可以试试,但你还是得自己把它画到屏幕上。我知道这个问题问了很久了(Kotlin还没出生:),但也许有人会发现我的答案很有用 如果要打开图像(.png、.jpg、.jpeg)或文件(.doc或.docx),则可以执行以下操作: JAVA
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.setType("*/*");
String[] mimeTypes = {"image/*", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"};
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
startActivityForResult(intent, YOUR_REQUEST_CODE);
然后在onActivityResult方法中:
if (requestCode == YOUR_REQUEST_CODE && resultCode == RESULT_OK) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
if (data != null && data.getData() != null) {
if (data.getData().toString().contains(".png") ||
data.getData().toString().contains(".jpg") ||
data.getData().toString().contains(".jpeg")) {
intent.setDataAndType(data.getData(), "image/jpeg");
} else if (data.getData().toString().contains(".doc")) {
intent.setDataAndType(data.getData(), "application/msword");
} else if (data.getData().toString().contains(".docx")) {
intent.setDataAndType(data.getData(), "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
}
}
startActivity(intent);
}
KOTLIN
startActivityForResult(Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
type = "*/*"
val mimeTypes = arrayOf(
"image/*",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
)
putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes)
}
, YOUR_REQUEST_CODE)
然后在onActivityResult函数中:
if (requestCode == YOUR_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
startActivity(Intent(Intent.ACTION_VIEW).apply {
flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
if (data?.data.toString().contains(".png") ||
data?.data.toString().contains(".jpg") ||
data?.data.toString().contains(".jpeg")
) {
setDataAndType(data?.data, "image/jpeg")
} else if (data?.data.toString().contains(".doc")) {
setDataAndType(data?.data, "application/msword")
} else if (data?.data.toString().contains(".docx")) {
setDataAndType(
data?.data,
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
)
}
})
}
您的意思是如何打开二进制流还是如何显示它们?请更具体一些。是的,我想阅读文件的内容并在屏幕上显示,然后你像在任何Java应用程序中那样做。使用FileInputStream。图像视图可以显示.png,如何加载.png文件(不是资源)?