获取android手机中已安装应用信息以及应用安装和卸载代码集合
发布时间:2020-12-15 00:16:49 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 /** * 是否已经安装该应用 * @param context * @param apk_package 包名 * @return */ public static boolean isInstallApp(Context context,String a
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 /** * 是否已经安装该应用 * @param context * @param apk_package 包名 * @return */ public static boolean isInstallApp(Context context,String apk_package) { PackageInfo packageInfo; try { packageInfo = context.getPackageManager().getPackageInfo( apk_package,0); } catch (NameNotFoundException e) { packageInfo = null; e.printStackTrace(); } if(packageInfo !=null ){ return true; } return false; } /** * 遍历一个路径下的文件夹内的指定文件 * @param Path 搜索目录 * @param Extension 扩展名(判断的文件类型的后缀名) * @param IsIterative 是否进入子文件夹 * @return */ public static final List<String> GetFiles(String Path,String Extension,boolean IsIterative) { List<String> apklist = new ArrayList<String>(); // 结果 List try { File[] files = new File(Path).listFiles(); for (int i = 0; i < files.length; i++) { File f = files[i]; if (f.isFile()) { if (f.getPath() .substring(f.getPath().length() - Extension.length()) .equals(Extension)) // 判断扩展名 apklist.add(f.getPath()); if (!IsIterative) break; //如果不进入子集目录则跳出 } else if (f.isDirectory() && f.getPath().indexOf("/.") == -1) // 忽略点文件(隐藏文件/文件夹) GetFiles(f.getPath(),Extension,IsIterative); //这里就开始递归了 } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } return apklist; } /** * 根据本地路径安装apk * @param apk_url */ public static void installApkFromLocalPath(Context context,String apk_url){ try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(apk_url)),"application/vnd.android.package-archive"); context.startActivity(intent); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } /** * 卸载应用 * @param context * @param apk_pkg 包名 */ public static void unInstallApkFromPackage(Context context,String apk_pkg){ try { Intent intent = new Intent(Intent.ACTION_DELETE); intent.setData(Uri.parse("package:"+apk_pkg)); context.startActivity(intent); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } /** * 根据包名打开另外一个应用 * @param context * @param apk_pkg 包名 */ public static void openApkFromPackage(Context context,String apk_pkg){ try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setComponent(new ComponentName(context,apk_pkg)); context.startActivity(intent); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在java中使用多个数组的构造函数
- java – 从通用通配符引用调用方法
- java – Android studio dalvik vm找不到类
- Android为图片添加水印文字
- org.springframework.context.ApplicationContextException
- 对自己学习算法,你如何在java中实现元组?
- 多线程 – 发件人成为演员[akka:// Main / deadLetters]
- 使用JavaBean创建您的网上日历本(2)
- java – 在Hibernate中绕过GeneratedValue
- Parse Robolectric导致java.lang.VerifyError:操作数堆栈上