使用包名称启动应用程序

时间:2014-08-14 19:14:52

标签: android null launcher

我正在尝试从Android中自己的应用程序启动应用程序。我所做的是获取安装到设备中的应用程序的所有软件包名称,并将它们存储到字符串数组中。然后使用列表视图,我尝试启动所选的每个应用程序。

为了创建一个新的意图来启动每个应用程序我使用以下代码声称在Android教程网站的几个帖子中工作:

Intent intent = packageManager.getLaunchIntentForPackage(packages[arg2]);

其中packages是包含包名称的表的名称,arg2是listview选择的项目。

问题是,即使我检查了toast消息,我也可以看到包名是正确的,但getLaunchIntentForPackage始终为null且应用程序没有启动。

由于

2 个答案:

答案 0 :(得分:2)

尝试添加意图

final Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

答案 1 :(得分:1)

试试这个:

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
}