隐式意图激活系统软件
1、打开一个系统软件,然后观察LogCat 10-16 14:36:54.309: I/ActivityManager(161): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.contacts/.activities.DialtactsActivity bnds=[0,273][48,321] u=0} from pid 292 cmp:表示包名,/DialtactsActivity后表示Activity名 2、然后到源码中,aosp_jb422\packages\apps\Contacts\AndroidManifest.xml 搜索DialtactsActivity <activity android:name=".activities.DialtactsActivity"
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.DIAL" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tel" />
</intent-filter>
</activity >android:name定义的就是setAction()中的内容 其中的<data android:scheme="tel" /> 指定的是模式,在setData时要加上前缀就是这个 10-16 14:44:28.849: I/ActivityManager(161): START {act=android.intent.action.VIEW dat=tel:xxx cmp=com.android.contacts/.activities.DialtactsActivity u=0} from pid 1542 |
public void call(View view) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("tel:110"));
this.startActivity(intent);
} |
|