使用隐式Intent出现android.content.ActivityNotFoundException: No Activity found to handle Intent

因为个人平时使用隐式Intent比较少,所以在上周出现标题上的那个异常感觉很纳闷,后来Google了一下,发现自己少了一个默认Category。

启动Activity的代码:

  Intent intent = new Intent(WidgetConstart.ACTION_TO_TRIAL);
  startActivity(intent);

Activity的配置代码:

<activity android:name=".EmptyActivity">    
  <intent-filter>        
    <action android:name="liuwang.github.io.EMPTY" />         
  </intent-filter>
</activity>

在我使用隐式Intent的时候,只指定了一个Intent的Action,而没有指定一个Category。这样会导致在调用 startActivity()这个方法的时候会自动添加一个Category(android.intent.category.DEFAULT),因此会造成标题的那种异常。

总结:在使用隐式Intent时我们需要指明Intent的Action和Category,如果不指明Category的话,startActivity会自动给添加一个默认的Category。
    原文作者:码农仔
    原文地址: https://www.jianshu.com/p/059260cfb5b6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞