程序中触发android系统中安装的某一个应用。
使用logcat 找出包名和触发类然后启动
adb -s logcat | grep "ActivityManager"
点击应用icon 触发应用 有如下log打印出来:
I/ActivityManager( 449): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.calendar/.AllInOneActivity} from pid 5180
cmp = com.android.calendar/.AllInOneActivity 是包名和启动类的名字
1. 根据包名和触发类的intent启动:
intent = new Intent();
intent.setClassName("com.android.calendar",
"com.android.calendar.AllInOneActivity");
startActivity(intent);
2. 根据包名使用activitymanager 启动:
intent = this.getPackageManager().getLaunchIntentForPackage(
"com.android.calendar");
if (intent != null) {
startActivity(intent);
}