比如启动小米手机中的电子邮件客户端(非Gmail)
Intent intent = new Intent();
intent.setClassName("com.android.email", "com.android.email.activity.Welcome");
startActivity(intent);
其中com.android.email是客户端的包名,com.android.email.activity.Welcome是启动的activity。
如果不知道应用的包名和activity的名字怎么办?
以下代码可以得到手机中所有应用程序的包名和启动activity的名字
List<ResolveInfo> mApps;
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
mApps = getPackageManager().queryIntentActivities(mainIntent, 0);
输出看看
for( ResolveInfo info :mApps){
System.out.println( info.activityInfo.packageName);
System.out.println( info.activityInfo.name);
}
得到了mApps,就可以灵活的匹配应用的信息了。