Android获取所有安装的应用
2014-11-17 20:39
387 查看
这两天在看一个桌面应用的源码,主要就是焦点动画,其次就是对已安装的应用进行管理。
<span style="font-size:18px;"><span style="white-space:pre"> </span>PackageManager packageManager = getPackageManager();
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);//通过</span><span style="font-size: 18px; font-family: Arial, Helvetica, sans-serif;">Intent.ACTION_MAIN过滤出应用</span><span style="font-size:18px;">
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> allApps = packageManager.queryIntentActivities(mainIntent, 0);
Collections.sort(allApps, new Comparator<ResolveInfo>() {
@Override
public int compare(ResolveInfo lhs, ResolveInfo rhs) {
return lhs.activityInfo.name.compareToIgnoreCase(rhs.activityInfo.name);//通过应用名排序
}
});
for (int i = 0; i < allApps.size(); i++) {
System.out.println(allApps.get(i).activityInfo.packageName);
}</span>
这个仅仅是获取已安装的,还需要对正在安装或卸载的程序进行监听
// 注册广播事件
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
intentFilter.addAction(Intent.ACTION_PACKAGE_CHANGED);
intentFilter.addAction(Intent.ACTION_PACKAGE_FULLY_REMOVED);
intentFilter.addDataScheme("package");
registerReceiver(broadcastRec, intentFilter);// 注册监听函数
<span style="font-size:18px;"><span style="white-space:pre"> </span>PackageManager packageManager = getPackageManager();
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);//通过</span><span style="font-size: 18px; font-family: Arial, Helvetica, sans-serif;">Intent.ACTION_MAIN过滤出应用</span><span style="font-size:18px;">
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> allApps = packageManager.queryIntentActivities(mainIntent, 0);
Collections.sort(allApps, new Comparator<ResolveInfo>() {
@Override
public int compare(ResolveInfo lhs, ResolveInfo rhs) {
return lhs.activityInfo.name.compareToIgnoreCase(rhs.activityInfo.name);//通过应用名排序
}
});
for (int i = 0; i < allApps.size(); i++) {
System.out.println(allApps.get(i).activityInfo.packageName);
}</span>
这个仅仅是获取已安装的,还需要对正在安装或卸载的程序进行监听
// 注册广播事件
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
intentFilter.addAction(Intent.ACTION_PACKAGE_CHANGED);
intentFilter.addAction(Intent.ACTION_PACKAGE_FULLY_REMOVED);
intentFilter.addDataScheme("package");
registerReceiver(broadcastRec, intentFilter);// 注册监听函数
public final BroadcastReceiver broadcastRec = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED) || intent.getAction().equals(Intent.ACTION_PACKAGE_REMOVED)) { synchronized (lock) { // 从新获取应用列表,并刷新grid界面 mHandler.sendEmptyMessage(CMD_HANDLER_LOAD_DATA); } } }
};
相关文章推荐
- [Android Pro] 获取手机已经安装的应用 和 获取当前正在运行的所有进程(一个uid对应多个pid)
- android 获取系统安装的所有的浏览器应用
- Android 获取所有已安装应用信息(图标,名称,版本号,包) ,并在自己程序打开某个应用
- [Android Pro] 获取手机已经安装的应用 和 获取当前正在运行的所有进程(一个uid对应多个pid)
- android初学------获取所有安装的应用信息
- 如何获取所有安装的Android应用并且可以运行其中一个?
- unity3d 获取所有安装应用包名和应用名 android C#版
- Android初学------系统设置之获取所有安装应用大小
- Android 获取所有安装应用显示在listview上
- 【转】android获取所有安装的非系统应用
- android获取所有应用信息,判断系统应用或第三方应用,监听应用安装和卸载
- Android获取系统已安装应用软件程序(apk)信息
- Android获取已安装应用信息(图标,名称,版本号,包)
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用 ...
- android 获取系统已经安装的应用
- 获得Android系统所有已安装的应用并联网自动检测升级更新
- Android获取已安装应用信息(图标,名称,版本号,包)
- Android获取已安装应用信息(图标,名称,版本号,包)(转载)
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 获取android手机里的所有应用,点击并响应