如何直接从启动屏幕直接启动您的android应用程序,而不显示主屏幕?

时间:2019-02-27 21:46:09

标签: android root homescreen kiosk-mode

我正在准备将Android平板电脑作为制成品的一部分。平板电脑变成了操作机器,显示一些实时数据以及通过蓝牙将某些文件从平板电脑移动到手机的专用工具。由于各种原因,包括传统原因,我们希望坚持使用Android平板电脑。 我将以“信息亭”模式运行该应用程序,这本身根本不是问题。我什至设置了应用程序以捕捉android.intent.action.BOOT_COMPLETED意图自动启动应用程序。

唯一的问题是重新启动平板电脑时,它显示了我们的自定义启动屏幕后,在启动我们的应用程序之前短暂地显示了主屏幕,允许用户通过启动其他应用程序,更改Android系统设置等进行干预。 我想通过以下方法解决此问题:将启动屏幕延长到应用程序启动前的最后一个时间,或者从平板电脑上禁用/删除主屏幕(首选选项)。

我使用植根设备。如果绝对必要,则可以选择“自定义ROM”,但我宁愿不走这条路。 我完全被困在这一点上,任何帮助/想法/选择将不胜感激。

1 个答案:

答案 0 :(得分:1)

在Android中,可以创建启动器应用。这可用于自定义Android设备的主屏幕。这个应用程式将取代您的主萤幕。在正常的启动器应用程序中,您要实现行为以打开其他应用程序。但这对您而言并不必要,因为您想创建一个信息亭应用。

对您来说,就像将这两行添加到mainActivity的intent过滤器中一样简单:

<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />

您的结果将是这样:

 <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

按主页按钮时,您将选择默认的启动器应用程序。将您的应用标记为默认启动器,它将替换主屏幕。 您还可以在设备的设置中更改启动器应用。

您可能还希望实现auto-restart,因为如果启动器应用程序崩溃,用户可以选择他要使用的启动器应用程序,并且可以退出信息亭模式。