其实方法就是通过 intent里的 action参数来实现
构造intent时
1: Intent intent = new Intent(Intent.ACTION_EDIT, null);
2: startActivity(intent);
action参数是
ACTION_EDIT
这时就会查找所有在系统里注册过的 action name是 ACTION_EDIT 的activity
比如
在manifist 里面注册的自定义activity
20: <activity android:name=".AnotherActivity2" android:label="another2">
21: <intent-filter>
22: <action android:name="android.intent.action.EDIT" />
23: <category android:name="android.intent.category.DEFAULT" />
24: </intent-filter>
25: </activity>
如果注册的activity里面有几个action name都是 ACTION_EDIT,则弹出列表让用户选择
猜想对系统内建功能的调用也是类似的原理实现