如何从活动启动另一个应用程序(下载或预安装)?

2Re*_*eal 3 android android-activity

基本上,我想获得所有已安装应用程序的列表,并选择一个从活动中运行.

我已经尝试了ACTION_PICK与Intents,但这似乎遗漏了下载的应用程序,它有一堆垃圾.

谢谢

yan*_*nko 8

// to get the list of apps you can launch
Intent intent = new Intent(ACTION_MAIN);
intent.addCategory(CATEGORY_LAUNCHER);
List<ResolveInfo> infos = getPackageManager().queryIntentActivities(intent, 0);

// resolveInfo.activityInfo.packageName = packageName
// resolveInfo.activityInfo.name = className
// reusing that intent
intent.setClassName(packageName, className);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
startActivity(intent)
Run Code Online (Sandbox Code Playgroud)

希望这足以帮助你弄明白.