68启动应用程序&&PackageManager的简单的用法

本文详细介绍了Android系统中的PackageManager服务,包括其主要功能如安装与卸载应用、查询权限及相关信息、获取应用程序详情等,并提供了使用该服务显示系统安装应用列表的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android系统中,有很多管理服务相关的类:TelephoneManager,WindowManager,SmsManager,ActivityManager等。

本文主要介绍下packageManager。这个服务主要用户获取应用程序中的packageName,icon,label等,初次之外,他也可以获取应用程序的占用内存大小以及缓存大小等信息。

•安装,卸载应用

•查询permission相关信息

•查询Application相关信息(application,activity,receiver,service,provider及相应属性等)

•查询已安装应用

•增加,删除permission

•清除用户数据、缓存,代码段等

我们可以用PackageManager来显示系统安装的应用程序列表或者系统程序列表  


//===========================================================

	/**
	 * 开启应用
	 */
	private void startApplication() {
		Intent intent = new Intent();
		String packname = appInfo.getPackname();
		PackageManager pm = getPackageManager();
		
//		intent.setAction("android.intent.action.MAIN");
//		intent.addCategory("android.intent.category.LAUNCHER");
//		//查询出来了手机上所有具有启动能力的Activity
//		List<ResolveInfo> queryIntentActivities = pm.queryIntentActivities(intent, 0);
		
		
		
		try {
			PackageInfo packinfo = pm.getPackageInfo(packname,
					PackageManager.GET_ACTIVITIES);
			ActivityInfo[] activityInfos = packinfo.activities;
			if (activityInfos != null && activityInfos.length > 0) {
				ActivityInfo activityinfo = activityInfos[0];
				intent.setClassName(packname, activityinfo.name);
				startActivity(intent);
			} else {
				Toast.makeText(this, "哎呀,这个应用程序没界面", 0).show();
			}
		} catch (NameNotFoundException e) { 
			e.printStackTrace();
			Toast.makeText(this, "没法开这个应用。", 0).show();
		}
	}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值