一、Activity中
private void startApk() {
// 1.获取到开启这个应用的intent
// 2. 获取开启这个应用程序第一个activity的意图
PackageManager pm = getPackageManager();
try {
PackageInfo info = pm.getPackageInfo(selectedAppInfo.getPackname(),PackageManager.GET_ACTIVITIES); //只有设置PackageManager.GET_ACTIVITIES后 info.activities才不会为空
ActivityInfo[] activityInfos = info.activities;
if (activityInfos != null && activityInfos.length > 0) {
ActivityInfo activitInfo = activityInfos[0];
Intent intent = new Intent();
intent.setClassName(selectedAppInfo.getPackname(),activitInfo.name);
startActivity(intent);
} else {
Toast.makeText(this, "无法启动应用程序", 0).show();
}
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "无法启动应用程序", 0).show();
}
}