获取所有和隐式Intent匹配上的Activity

记得老师教我们隐式启动Activity的时候,说这样能个Intent,添加一些过滤条件,最后startActivity就可以了。要不是因为遇到找不到的情况,我差点就信了。

扔个东西出去,没人接,然后就报错了!

正事开始:

1.我们先要有一个包管理器

PackageManager manager = getPackageManager();

2.然后能个Intent

Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_HOME);
intent.addCategory(Intent.CATEGORY_DEFAULT);

3.然后通过包管理器根据Intent来扫描一下

List list =manager.queryIntentActivities(intent, 0);

4.你可以列出来看看里面都有哪些Activity

for (int i = 0; i < list.size(); i++) {
             manager.clearPackagePreferredActivities(list.get(i).activityInfo.name);
        }

你可能感兴趣的:(Android)