android获取应用列表

时间:2025-01-28 08:52:24
android中获得应用程序列表很简单,主要使用PackageManager就可以。
例如:如何获得第三方应用程序列表,即已经安装的应用程序列表,可以这样做:
PackageManager pm = ();
List mPacks = (0);
for(PackageInfo info : mPacks){
                   ScreenApp mInfo = new ScreenApp();
                   ((pm));
                   ((pm).toString());
                   ();
                   (mInfo);                   
}

例如:获取系统所有的应用,即系统应用+已安装的应用
PackageManager pm = ();
List mPacks = (0);
for(PackageInfo info : mPacks){
                   if(( & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 0){
                            ScreenApp mInfo = new ScreenApp();
                            ((pm));
                            ((pm).toString());
                            ();
                            (mInfo);
                     }                   
}

在第二个例子中出现了很多无法点击启动的图标,这些应用本身不是一个独立的应用,那么如何获得只包含可启动的应用列表呢?这个也不难,看下面的例子:
PackageManager pm = ();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
(Intent.CATEGORY_LAUNCHER);
List mResolveInfo   = (mainIntent, 0);
             for(ResolveInfo info : mResolveInfo){
                     String packName = ;
                     if((())){
                            continue;
                     }
                     ScreenApp mInfo = new ScreenApp();
                     ((pm));
                     ((pm).toString());
                     (packName);
                     (mInfo);
              }

关于获得正在运行的应用列表,看下面的例子:
ActivityManager am = (ActivityManager) getBaseApplication().getSystemService(Context.ACTIVITY_SERVICE);
List mAppProcessInfos = ();
接下来的操作同上。

到此获得不同应用程序列表的功能就完成了。