我正在尝试从Android中自己的应用程序启动应用程序。我所做的是获取安装到设备中的应用程序的所有软件包名称,并将它们存储到字符串数组中。然后使用列表视图,我尝试启动所选的每个应用程序。
为了创建一个新的意图来启动每个应用程序我使用以下代码声称在Android教程网站的几个帖子中工作:
Intent intent = packageManager.getLaunchIntentForPackage(packages[arg2]);
其中packages是包含包名称的表的名称,arg2是listview选择的项目。
问题是,即使我检查了toast消息,我也可以看到包名是正确的,但getLaunchIntentForPackage始终为null且应用程序没有启动。
由于
答案 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
}