我正在尝试从我自己的应用程序在Android中启动一个应用程序。我所做的是获得安装到设备中的应用程序的所有包名称,并将它们存储到字符串数组中。然后用列表视图,我尝试启动每个选定的应用程序。
为了创建一个新的意图来启动每个应用程序,我使用以下代码声称在android教程网站的几个帖子中工作:
Intent intent = packageManager.getLaunchIntentForPackage(packages[arg2]);
其中packages是包含包名的表名,arg2是listview选中的项。
问题是,即使我检查toast消息,我可以看到包名是正确的,但getLaunchIntentForPackage总是为空,应用程序没有启动。
谢谢
尝试添加intent
final Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
试试这个:
String pack[] = {"com.android.setting", "com.android.browser"};
try {
Intent intent = getPackageManager().getLaunchIntentForPackage(pack[0]);
startActivity(intent);
} catch (Exception e) {
// returns null if application is not installed
}