android大赛调用技术

这里首先调研的是,如何获得android手机中所有应用的包名和主activity的名字。

//得到所有应用的包名
Intent intent = new Intent(Intent.ACTION_MAIN,null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> list = MainActivity.this.getPackageManager().queryIntentActivities(intent,
PackageManager.GET_ACTIVITIES);
for(int i=0;i<10;i++){
System.out.println(list.get(i).activityInfo.packageName);
}

//启动第三个activity
Intent intents = new Intent(Intent.ACTION_MAIN);
intents.addCategory(Intent.CATEGORY_LAUNCHER);
intents.setPackage(list.get(2).activityInfo.packageName);
intents.setComponent(new ComponentName(
list.get(1).activityInfo.packageName, list.get(1).activityInfo.name));
startActivity(intents);

这样我们就可以选择应用并启动它了。

原文地址:https://www.cnblogs.com/zhanglanyun/p/3019340.html