启动默认启动器的Android自定义启动器

时间:2014-02-03 16:21:01

标签: android android-intent launcher android-launcher kiosk-mode

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

我无法编码的最后一件事是能够从我的自助服务终端/启动器更改为默认的Android启动器。我已准备好密码输入:如果密码正确,我想启动启动器。

这是我到目前为止所做的:

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,我只能到达默认的启动器,这将是我的自助服务终端。

2 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:0)

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

intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);