一、异常日志
android.content.ActivityNotFoundException:
No Activity found to handle Intent { act=com.laizhen.intentDemo cat=[com.example.activitytest.MY_CATEGORY] }
字面意思是com.example.activitytest.MY_CATEGORY这个类型。
二、出错原因:
//2.隐式意图
Intent intent1 = new Intent("com.laizhen.intentDemo");
//可以1对多个category类型,加上我们的default就有两个
intent1.addCategory("com.example.activitytest.MY_CATEGORY");
startActivity(intent1);
在我们添加Category时一定要查看对应的Activity是否有相应的类型,不然他将找不到相应的对象。那么有人要疑问,为什么平时我们都没有添加类型,而清单配置文件里面有
android.intent.category.DEFAULT
这个类型却能够正常运行。那是因为我们在加载Inent时,是默认加载了这个类型的,可以不写
又问:如果我清单配置文件里面不加
android.intent.category.DEFAULT
这个类型可以吗?答案是不行的,如果不加也将出现android.content.ActivityNotFoundException异常。
三、总的来说类型清单配置文件一定要有,而我们使用Intent的时候可以使用多个Category类型,但是需要保证清单配置文件里面要有。