获得所有应用程序信息&判断是否系统程序

获得所有应用程序信息&判断是否系统程序,第1张

程序大概分成三个部分:

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)重启后出现“系统被恶意修改,请从正确渠道获取系统安装程序”如何解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9753148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存