使用包名启动应用程序



我正在尝试从我自己的应用程序在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
}

最新更新