如何直接从启动画面直接启动你的Android应用程序,而不显示主屏幕?

问题描述 投票:0回答:1

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

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

我使用的是root设备。如果绝对必要,自定义ROM将是一个选项,但我不想走这条路。我完全陷入困境,任何帮助/想法/选项将不胜感激。

android root homescreen kiosk-mode
1个回答
1
投票

在Android中,可以创建一个启动器应用程序。这可用于自定义Android设备的主屏幕。这个应用程序将取代您的主屏幕。在普通的启动器应用程序中,您希望实现打开其他应用程序的行为。但在您的情况下,这不是必需的,因为您想要创建一个自助服务终端应用程序。

对于您而言,只需将这两行添加到mainActivity的intent-filter中即可:

<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,因为如果您的启动器应用程序崩溃,用户可以选择他想要使用哪个启动器应用程序并且可以逃脱自助服务终端模式。

© www.soinside.com 2019 - 2024. All rights reserved.