android获得所有的安装app列表,并运行指定app

如何获得andorid手机的程序安装列表,并调用其中一个app运行?
我目前试过如下方式

Intent intent = new Intent(ACTION_MAIN);
intent.addCategory(CATEGORY_LAUNCHER);

这里只是展示ACTION_MAIN 类型的应用程序,我知道PackageManager 可以获得程序的安装列表。但是如何调用其中一个程序运行呢?

处理方法

按照下面的代码运行,就会获得已经安装的程序列表

1
2
3
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null );
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List pkgAppsList = context.getPackageManager().queryIntentActivities( mainIntent, 0 );

或者下面链接和代码也

Link: http://www.androidsnippets.com/get-installed-applications-with-name-package-name-version-and-icon
Here a good example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class PInfo {
     private String appname = "" ;
     private String pname = "" ;
     private String versionName = "" ;
     private int versionCode = 0 ;
     private Drawable icon;
     private void prettyPrint() {
         Log.v(appname + "\t" + pname + "\t" + versionName + "\t" + versionCode);
     }
}
 
private ArrayList<pinfo> getPackages() {
     ArrayList<pinfo> apps = getInstalledApps( false ); /* false = no system packages */
     final int max = apps.size();
     for ( int i= 0 ; i<max; arraylist<pinfo= "" private = "" }= "" apps;= "" return = "" apps.get(i).prettyprint();= "" {= "" i++)= "" > getInstalledApps( boolean getSysPackages) {
     ArrayList<pinfo> res = new ArrayList<pinfo>();
     List<packageinfo> packs = getPackageManager().getInstalledPackages( 0 );
     for ( int i= 0 ;i<packs.size();i++) }= "" return = "" {= "" pre= "" <= "" res;= "" res.add(newinfo);= "" newinfo.icon= "p.applicationInfo.loadIcon(getPackageManager());" newinfo.versioncode= "p.versionCode;" newinfo.versionname= "p.versionName;" newinfo.pname= "p.packageName;" newinfo.appname= "p.applicationInfo.loadLabel(getPackageManager()).toString();" pinfo();= "" newinfo= "new" pinfo= "" ;= "" continue = "" null ))= "" (p.versionname= "=" &&= "" ((!getsyspackages)= "" if = "" p= "packs.get(i);" packageinfo= "" ></packs.size();i++)></packageinfo></pinfo></pinfo></max;></pinfo></pinfo>


原文地址:http://www.itmmd.com/201411/122.html 
该文章由 萌萌的IT人 整理发布,转载须标明出处。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值