系统级APP的更新

在安卓的系统中,App分为两种类型,系统级App与非系统级App

系统级App:指的是在android系统中,被硬件厂商内置的一些应用,一般用户如果不借助其他工具,是无法做到卸载这类App的。

非系统级App:指的是用户在应用商店中下载或者其他途径安装的App

通过以下方法可以判断是否是系统级App

public boolean isSystemApp(Context context,String packageName) {
		PackageManager pm = context.getPackageManager();
		ApplicationInfo applicationInfo=null;
		boolean isSystemApp=false;
		try {
		if (packageName == null || "".equals(packageName))
			return false;
		
			applicationInfo =pm.getApplicationInfo(packageName, 0);
			if(applicationInfo!=null&&(applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0){
				isSystemApp=true;
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return isSystemApp;
	}

在对系统进行升级的过程中,可以直接用adb install  -r  xxx 安装来升级,因为该执行语句可以实现覆盖安装,具体java执行代码如下:

command = "su -c pm install -r " + TempFilePath + "\n";
process = Runtime.getRuntime().exec(command, envp);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章