/**
* 安装新版本
* @param context 当前实例上下文
*/
public void InstallApk(Context context,String fileName){
File f = new File(BasePath.DOWNLOAD_DIR,fileName);
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
// 调用getMIMEType()来取得MimeType
String type = getMIMEType(f);
//设定intent的file与MimeType
intent.setDataAndType(Uri.fromFile(f),type);
context.startActivity(intent);
}
/**
* 判断文件MimeType的method
* @param f 要判断类型的文件
* @return 文件的MiMe类型
*/
public String getMIMEType(File f)
{
String type="";
String fName=f.getName();
// 取得扩展名
String end=fName.substring(fName.lastIndexOf(".")+1,fName.length()).toLowerCase();
// 按扩展名的类型决定MimeType
if(end.equals("m4a")||end.equals("mp3")||end.equals("mid")||end.equals("xmf")||end.equals("ogg")||end.equals("wav")){
type = "audio";
}else if(end.equals("3gp")||end.equals("mp4")){
type = "video";
}else if(end.equals("jpg")||end.equals("gif")||end.equals("png")||end.equals("jpeg")||end.equals("bmp")){
type = "image";
}else if(end.equals("apk")) {
// android.permission.INSTALL_PACKAGES
type = "application/vnd.android.package-archive";
} else{
type="*";
}
//如果无法直接打开,就跳出软件清单给使用者选择
if(end.equals("apk")) {
} else {
type += "/*";
}
return type;
}