出于教育目的,我在这里发布了这个问题,因为我无法在任何地方找到答案,最终只能通过自己的方式找到根本原因。
以下是有问题的代码:
// initially getting the intent from polling the PackageManager about activities resolving Search intent.
ComponentName componentName = intent.resolveActivity(pm);
if (componentName != null) {
context.startActivity(intent);
}
尽管我进行了检查,但仍然出现了ActivityNotFound异常。
编辑:显然并不是每个人都能理解这一点,所以:为什么有一个可以解决意图的活动,却试图启动它会抛出ActivityNotFound异常-两个明显矛盾的事实?
resolveActivityInfo()
而不是resolveActivity()
。 - yuvalintent.resolveActivityInfo(pm, intent.getFlags()) == null
和intent.resolveActivity(pm) == null
。请参见https://dev59.com/-FIG5IYBdhLWcg3w3Fk_获取更多信息。或使用https://dev59.com/Gm025IYBdhLWcg3wpXse#62531168。 - CoolMind