1

作为我的第一个 Android 应用程序,我正在编写一个用于工作用途的信息亭。此应用设置为默认启动器和全屏,因此,当平板电脑启动时,自助服务终端已经启动,用户无法打开其他应用或退出自助服务终端应用。

我无法编写的最后一件事是能够从我的信息亭/启动器更改为默认的 Android 启动器。我已经准备好密码输入:如果密码正确,我想启动Launcher。

这是我到目前为止所拥有的:

if (message.equals("password")) {
    Intent intent = new Intent("android.intent.action.MAIN");
    intent.addCategory("android.intent.category.HOME");
    startActivity(Intent.createChooser(intent, "Scegli:"));
}

我只在 Android Studio 的模拟器中尝试过这个应用程序,其中默认启动器是 Android 启动器:根据这些说明,应用程序只需在默认的 Android 启动器上运行。所以我想,在平板电脑上,尽管有 createChooser,我只能到达默认启动器,这将是我的信息亭。

4

2 回答 2

1

这是 OP 的解决方案,从问题正文迁移到此处

if (message.equals("password")) {
    getPackageManager().clearPackagePreferredActivities(getPackageName());
    final Intent intent = new Intent();
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
}
于 2015-12-04T17:30:56.340 回答
0

尝试像这样设置您的意图:

intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
于 2014-02-03T16:24:14.670 回答