1./** * 检测是否安装了某个软件 * * @param pkgName "com.bill99.kuaishua" * @param mContext * @return */ public static boolean isPkgInstalled(String pkgName, Activity mContext) { PackageInfo packageInfo = null; try { packageInfo = mContext.getPackageManager().getPackageInfo(pkgName, 0); } catch (NameNotFoundException e) { packageInfo = null; e.printStackTrace(); } if (packageInfo == null) { return false; } else { return true; } }
2.应用安装.apk
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(filepath)), "application/vnd.android.package-archive"); mContext.startActivity(intent);
3.参考网上的各种openfile方法
Java代码 /*** 打开文件* @param file*/ private void openFile(File file){
Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //设置intent的Action属性 intent.setAction(Intent.ACTION_VIEW); //获取文件file的MIME类型 String type = getMIMEType(file); //设置intent的data和Type属性。 intent.setDataAndType(/*uri*/Uri.fromFile(file), type); //跳转 startActivity(intent); //这里最好try一下,有可能会报错。 //比如说你的MIME类型是打开邮箱,但是你手机里面没装邮箱客户端,就会报错。
}
/*** 根据文件后缀名获得对应的MIME类型。* @param file*/ private String getMIMEType(File file) {
String type="*/*"; String fName = file.getName(); //获取后缀名前的分隔符"."在fName中的位置。 int dotIndex = fName.lastIndexOf("."); if(dotIndex < 0){ return type; } /* 获取文件的后缀名*/ String end=fName.substring(dotIndex,fName.length()).toLowerCase(); if(end=="")return type; //在MIME和文件类型的匹配表中找到对应的MIME类型。 for(int i=0;i
原文: http://blog.csdn.net/wangyang2698341/article/details/20847469