<intent-filter> <action android:name="com.ispring.action.ACTION_TEST1" /> <action android:name="com.ispring.action.ACTION_TEST2" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>
intent对象可以通过setAction()方法设置唯一的一个action值。对于action测试,需要分两种情况:
intent对象设置了action
如果intent对象通过调用setAction()方法设置了action的值,那么只有当组件的intent-filter中包含了intent对象中的action值的时候,action测试才通过,否则无法通过。
举个例子,假设我们的Activity的intent-filter如下所示:
<intent-filter> <action android:name="com.ispring.action.ACTION_TEST1" /> <action android:name="com.ispring.action.ACTION_TEST2" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="ispring" android:host="blog.csdn.net" /> </intent-filter>
下面的intent对象可以通过上面intent-filter里面的action测试:
Intent intent = new Intent();
intent.setAction("com.ispring.action.ACTION_TEST1");
Uri uri = Uri.parse("ispring://blog.csdn.net/sunqunsunqun");
intent.setData(uri);
该intent之所以能通过action测试是因为intent-filter中包含该intent的action值com.ispring.action.ACTION_TEST1。
下面的intent对象无法通过上面intent-filter里面的action测试:
Intent intent = new Intent();
intent.setAction("com.ispring.action.ACTION_TEST3");
Uri uri = Uri.parse("ispring://blog.csdn.net/sunqunsunqun");
intent.setData(uri);










