zoukankan      html  css  js  c++  java
  • android 推断应用程序是系统程序还是用户程序

    直接上代码:

    AppInfo.java

    <span style="font-size:18px;">package com.example.packages;
    
    public class AppInfo {
    	private String packName;
    	private boolean userApp;
    	public String getPackName() {
    		return packName;
    	}
    
    	public void setPackName(String packName) {
    		this.packName = packName;
    	}
    
    	public boolean isUserApp() {
    		return userApp;
    	}
    
    	public void setUserApp(boolean userApp) {
    		this.userApp = userApp;
    	}
    }</span>

    AppTools.java

    <span style="font-size:18px;">package com.example.packages;
    import java.util.ArrayList;
    import java.util.List;
    import android.content.Context;
    import android.content.pm.ApplicationInfo;
    import android.content.pm.PackageInfo;
    import android.content.pm.PackageManager;
    
    public class AppTools {
    	public static List<AppInfo> getAppInfos(Context context){
    		PackageManager pm = context.getPackageManager();
    		List<AppInfo> appInfos = new ArrayList<AppInfo>();
    		List<PackageInfo> packInfos = pm.getInstalledPackages(0);
    		for(PackageInfo packInfo : packInfos){
    			AppInfo appInfo = new AppInfo();
    			String packName = packInfo.packageName;
    			appInfo.setPackName(packName);
    			int flags = packInfo.applicationInfo.flags;//标识 
    			if((ApplicationInfo.FLAG_SYSTEM & flags) ==0){
    				//用户程序
    				appInfo.setUserApp(true);
    			}else{
    				//系统程序
    				appInfo.setUserApp(false);
    			}
    			appInfos.add(appInfo);
    		}
    		return appInfos;
    	}
    }</span>


  • 相关阅读:
    ssh速度慢
    ps -ef和ps aux的区别
    docker国内镜像加速
    pptpd的log整理
    docker入门2--生命周期
    docker入门1--简介、安装
    Cent7.2单用户模式
    shell中得到当下路径所有文件夹名称
    在centos 7下升级内核
    Mysql如何将一张表重复数据删除
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5143507.html
Copyright © 2011-2022 走看看