项目刚好需要用到这个,查询汇总了很多资料最后终于顺利解决,也积累了不少查资料的技巧,现在把思路整理一下,希望能对想做类似功能的朋友有帮,希望结交热爱移动开发的朋友。 下面切入正题!开写!
之前自己写代码一个很坏的习惯就是类的互相解耦之间做的很差,一堆代码都是堆在一起的,从没考虑到规划接口,工具类。
这里首先创建一个保存一个APP所有信息的类,包括名字,图标,版本号等。
//AllAppInfo类
class AllAppInfo {
private int versionCode = 0; //版本号
private String appname = "";// 程序名称
private String packagename = ""; //包名称
private Drawable appicon ;//图标
private long lastInstal;//最后一次安装时间
private ProviderInfo[] provider;//供应商
private String InstalPath;//安装路径
private int flag ; //判断是不是系统应用
public int getVersionCode() {
return versionCode;
}
public void setAppicon(PackageManager packageManager) {
// TODO Auto-generated method stub
}
public void setVersionCode(int versionCode) {
this.versionCode = versionCode;
}
public String getAppname() {
return appname;
}
public void setAppname(String appname) {
this.appname = appname;
}
public String getPackagename() {
return packagename;
}
public void setPackagename(String packagename) {
this.packagename = packagename;
}
public Drawable getAppicon() {
return appicon;
}
public void setAppicon(Drawable appicon) {
this.appicon = appicon;
}
/**
* @return the lastInstal
*/
public long getLastInstal() {
return lastInstal;
}
/**
* @param firstInstallTime the lastInstal to set
*/
public void setLastInstal(long firstInstallTime) {
this.lastInstal = firstInstallTime;
}
/**
* @return the provider
*/
public ProviderInfo[] getProvider() {
return provider;
}
/**
* @param providers the provider to set
*/
public v