加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

获取android手机中已安装应用信息以及应用安装和卸载代码集合

发布时间:2020-05-24 15:40:56 所属栏目:Java 来源:互联网
导读:获取android手机中已安装应用信息以及应用安装和卸载代码集合

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

/** 
     * 是否已经安装该应用 
     * @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();  
        }  
    }   

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读