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

来源:互联网 发布:进化论被推翻知乎 编辑:程序博客网 时间:2024/06/09 15:28

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();}}






0 0
原创粉丝点击