我必须从我的服务器下载文档到我的应用程序并保存到私人文件夹中。
该文档可以是.doc, .pdf, .docs, .jpg
等等。
现在,我想要的是,在下载完成后,我会显示Alert Dialog
来打开文档。
当我点击笔按钮然后在相应的应用程序中打开该特定文件时,如果该应用程序不可用,则显示Dialog
以下载应用程序。
给我一些暗示。
提前致谢。
答案 0 :(得分:2)
尝试这种方式:
邮件附件打开
File file = new File(yourdownloadfilePATH);
if ((download_file_name.endsWith(".pdf")) || (download_file_name.endsWith(".PDF"))){
if(file.exists() && file.length()!=0){
Intent intent = new Intent();
intent.setClassName("com.adobe.reader","com.adobe.reader.AdobeReader");
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Uri uri = Uri.fromFile(file);
intent.setDataAndType(uri, "application/pdf");
try {
startActivity(intent);
} catch (Exception e) {
AlertDialog.Builder builder = new AlertDialog.Builder(youractivity.this);
builder.setTitle("No Application Found");
builder.setMessage("Download application from Android Market?");
builder.setPositiveButton(
"Yes, Please",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,
int which) {
Intent marketIntent = new Intent(
Intent.ACTION_VIEW);
marketIntent.setData(Uri
.parse("market://details?id=com.adobe.reader"));
startActivity(marketIntent);
}
});
builder.setNegativeButton("No, Thanks",
null);
builder.create().show();
}
}
} else if ((download_file_name.endsWith(".jpg"))|| (download_file_name.endsWith(".bmp"))||
(download_file_name.endsWith(".BMP"))||(download_file_name.endsWith(".png"))|| (download_file_name.endsWith(".PNG"))||(download_file_name.endsWith(".gif"))|| (download_file_name.endsWith(".GIF"))||
(download_file_name.endsWith(".JPG"))) {
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "image/*");
startActivity(intent);
}
else if ((download_file_name.endsWith(".txt"))) {
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "text/html");
startActivity(intent);
}
答案 1 :(得分:2)
不确定,但我认为这会对你有所帮助:
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(your_file);
String extension = file .split("\\.");
//For text extensions like text or any textfiles
if(extension == txt){
intent.setDataAndType(Uri.fromFile(file), "test/*");
}
//For audio extensions like mp3 or any audio files
else if(extension == mp3 ){
intent.setDataAndType(Uri.fromFile(file), "audio/*");
}
//For video extensions like mp4 or any video files
else if(extension == mp4){
intent.setDataAndType(Uri.fromFile(file), "video/*");
}
startActivity(intent);