如何在Android中使用自定义屏幕而不是默认启动屏幕?

时间:2013-01-23 06:07:15

标签: android

我正在制作企业应用程序,用户应该只能使用我提供给他的那些应用程序。我的想法是使用我的自定义布局覆盖默认的开始屏幕,其中包含我向用户提供的应用程序图标。我将在启动屏幕中禁用主页,菜单返回和搜索按钮。即使用户按下主页按钮,也应将其重定向到包含图标的自定义屏幕。

我已经看到一个应用程序在没有设备生根的情况下实现了这一目标。 Here是该应用的链接。

我只想知道如何将开始屏幕发送到后台并将自定义布局发送到前台。

3 个答案:

答案 0 :(得分:6)

您的应用似乎是自定义启动器(但具有限制权限)。 因此,您可以将应用程序定义为启动器,为此,您可以在清单中添加它:

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter android:priority="1">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

然后你必须实现一个方法来回到真正的启动器。

答案 1 :(得分:5)

  

我正在制作企业应用,用户应该只能使用我提供的那些应用。

这需要是自定义ROM。

  

我只想知道如何将开始屏幕发送到后台并将自定义布局发送到前台。

让您的应用成为主屏幕。有一个SDK示例可用于显示如何创建主屏幕。

答案 2 :(得分:2)

问:我应该如何将起始屏幕发送到后台并将我的自定义布局发送到前台? 答:使用BroadCastReceiver,您可以通过intent filter实现此目的:android.intent.action.BOOT_COMPLETED

但是,我很好奇,你是如何覆盖主页按键功能的。