程序大概分成三个部分:
1获取手机已安装的所有应用package的信息(其中包括用户自己安装的,还有系统自带的);
2滤除系统自带应用;
3通过列表显示出应用程序的图标(icon),和其他文字信息(应用名称,包名称package name,版本号等等)
首先,我们定义一个数据结构,来保存应用程序信息(icon,name,packageName,versionName,versionCode,等)
下面我们就来看看代码吧,这样我们大家看的风直观一些:
java代码:
public class AppInfo {
public String appName="";
public String packageName="";
public String versionName="";
public int versionCode=0;
public Drawable appIcon=null;
public void print(){
Logv("app","Name:"+appName+" Package:"+packageName);
Logv("app","Name:"+appName+" versionName:"+versionName);
Logv("app","Name:"+appName+" versionCode:"+versionCode);
}
}
然后我们通过PackageManager 来获取已安装的应用包信息。
java代码:
ArrayList appList = new ArrayList(); //用来存储获取的应用信息数据List packages = getPackageManager()getInstalledPackages(0);
for(int i=0;i<packagessize();i++) {
PackageInfo packageInfo = packagesget(i);
AppInfo tmpInfo = new AppInfo();
tmpInfoappName = packageInfoapplicationInfoloadLabel(getPackageManager())toString();
tmpInfopackageName = packageInfopackageName;
tmpInfoversionName = packageInfoversionName;
tmpInfoversionCode = packageInfoversionCode;
tmpInfoappIcon = packageInfoapplicationInfoloadIcon(getPackageManager());
appListadd(tmpInfo);
}//好啦 这下手机上安装的应用数据都存在appList里了。
那么如何判断一个应用是否为系统应用呢
java代码:
if((packageInfoapplicationInfoflags&ApplicationInfoFLAG_SYSTEM)==0){
//非系统应用
}else{
//系统应用
}
所以如果只需要获取到非系统应用信息,代码如下:
java代码:
ArrayList appList = new ArrayList(); //用来存储获取的应用信息数据
List packages = getPackageManager()getInstalledPackages(0);
for(int i=0;i<packagessize();i++) {
PackageInfo packageInfo = packagesget(i);
AppInfo tmpInfo = new AppInfo();
tmpInfoappName = packageInfoapplicationInfoloadLabel(getPackageManager())toString();
tmpInfopackageName = packageInfopackageName;
tmpInfoversionName = packageInfoversionName;
tmpInfoversionCode = packageInfoversionCode;
tmpInfoappIcon = packageInfoapplicationInfoloadIcon(getPackageManager());
if((packageInfoapplicationInfoflags&ApplicationInfoFLAG_SYSTEM)==0){
appListadd(tmpInfo);//如果非系统应用,则添加至appList
}
}
装系统说简单也简单,说麻烦也麻烦,大致给你个流程:
1启动机器按DELE键,进入BOIS设置
2根据主板说明,将第一启动(first,second,third排在一列的那个)设置为CD-ROM
3退出保存设置(一般F10)
4将光盘放进去后重新启动
5会提示开始安装,要选安装的盘符(一般选C),格式(xp一般ntfs),如果是没有分区的会先出现分区选项,要新建一个分区,填写这个盘大小(具体分几个就看你自己需要了)
6然后就开始不停的装啊装,会跳出来序列号,语言,输入法,用户名等提示,选择好就OK了
电脑在安装GHOST系统时,出现“系统被恶意修改,请从正确渠道获取系统安装程序”提示时,说明这个版本 *** 作系统有问题,请更换 *** 作系统后重新安装即可。
Ghost系统是指通过赛门铁克公司(Symantec Corporation)出品的Ghost在装好的 *** 作系统中进行镜像克隆的版本,通常GHOST用于 *** 作系统的备份,在系统不能正常启动的时候用来进行恢复的。
1
在ASPNET中专用属性:
获取服务器电脑名:PageServerManchineName
获取用户信息:PageUser
获取客户端电脑名:PageRequestUserHostName
获取客户端电脑IP:PageRequestUserHostAddress
2
在网络编程中的通用方法:
获取当前电脑名:static
SystemNetDnsGetHostName()
根据电脑名取出全部IP地址:static
SystemNetDnsResolve(电脑名)AddressList
也可根据IP地址取出电脑名:static
SystemNetDnsResolve(IP地址)HostName
3
系统环境类的通用属性:
当前电脑名:static
SystemEnvironmentMachineName
当前电脑所属网域:static
SystemEnvironmentUserDomainName
当前电脑用户:static
SystemEnvironmentUserName
获取客户端本机的IP地址相当简易,方法如下:
using
SystemNet;
TextIPText=PageRequestUserHostAddress;
import javautil;
import javaio;
class SysProb
{
//返回当前系统变量的函数,结果放在一个Properties里边,这里只针对win2k以上的,其它系统可以自己改进
public Properties getEnv() throws Exception
{
Properties prop=new Properties();
String OS = SystemgetProperty("osname")toLowerCase();
Process p=null;
if(OSindexOf("windows")>-1)
{
p=RuntimegetRuntime()exec("cmd /c set"); //其它的 *** 作系统可以自行处理, 我这里是win2k
}
BufferedReader br=new BufferedReader(new InputStreamReader(pgetInputStream()));
String line;
while((line=brreadLine())!=null)
{
int i=lineindexOf("=");
if(i>-1)
{
String key=linesubstring(0,i);
String value=linesubstring(i+1);
propsetProperty(key,value);
}
}
return prop;
}
//具体用法
public static void main(String[] args)
{
try
{
SysProb sp=new SysProb();
Properties p=spgetEnv();
Systemoutprintln(pgetProperty("Path")); //注意大小写,如果写成path就不对了
}
catch(Exception e)
{
Systemoutprintln(e);
}
}
}
其他类型:
%COMPUTERNAME% 返回计算机的名称。
%COMSPEC% 返回命令行解释器可执行程序的准确路径。 %WINDIR% 返回 *** 作系统目录的位置。
%OS% 返回 *** 作系统的名称。Windows 2000 将 *** 作系统显示为 Windows_NT。 %PATH% 指定可执行文件的搜索路径。
%USERDOMAIN% 返回包含用户帐户的域的名称。 %USERNAME% 返回当前登录的用户的名称。
打开任务管理器就可以看到。 打开任务管理器的方法是同时按下crtl+alt+del三个键就能打开任务管理器。就能获取系统进程列表。希望对你有帮助,看后请点击我的回答下方选为满意答案按钮
以上就是关于获得所有应用程序信息&判断是否系统程序全部的内容,包括:获得所有应用程序信息&判断是否系统程序、如何用c/c++获得当前系统安装的软件列表,就像“添加删除程序”一样、安装系统(GHOST)重启后出现“系统被恶意修改,请从正确渠道获取系统安装程序”如何解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)