Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中使用自定义屏幕而不是默认的启动屏幕?_Android - Fatal编程技术网

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

如何在Android中使用自定义屏幕而不是默认的启动屏幕?,android,Android,我正在制作一个企业应用程序,用户应该只能使用我提供给他的那些应用程序。我的想法是用我的自定义布局和应用图标覆盖默认的开始屏幕,只覆盖我提供给用户的那些应用。我将在开始屏幕中禁用主页、菜单返回和搜索按钮。即使用户按下home按钮,他也应该被重定向到包含图标的自定义屏幕 我看到过一个应用程序,它在不支持设备的情况下实现了这一点。是该应用程序的链接 我只是想知道我应该如何将开始屏幕发送到后台,如何将自定义布局发送到前台 Q:如何将起始屏幕发送到后台,将自定义布局发送到前台? 答:使用BroadCast

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

我看到过一个应用程序,它在不支持设备的情况下实现了这一点。是该应用程序的链接


我只是想知道我应该如何将开始屏幕发送到后台,如何将自定义布局发送到前台

Q:如何将起始屏幕发送到后台,将自定义布局发送到前台?
答:使用BroadCastReceiver,您可以通过意向过滤器实现这一点:android.intent.action.BOOT_COMPLETED

但是,我很想知道,你是如何覆盖主按键功能的

我正在制作一个企业应用程序,用户应该只能使用我提供给他的那些应用程序

这需要是一个自定义的ROM

我只是想知道我应该如何将开始屏幕发送到后台,如何将自定义布局发送到前台


让你的应用程序成为主屏幕。有一个SDK示例显示了如何创建主屏幕。

您的应用程序看起来像一个自定义启动器(但具有限制权限)。 因此,您可以将应用程序定义为启动器,为此,您可以在清单中添加以下内容:

        <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>


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

初始默认屏幕首先弹出,然后重定向到我的应用程序。尝试在启动应用程序时给予一些延迟…但是,这是你能找到的唯一解决方案…:)我不确定这是唯一的解决办法。。。例如,在第一次启动时弹出的GoogleSetupWizard被声明为启动器(因此home按钮重定向到它)。你可以在我的回答中看到你的应用程序是如何声明为启动器的。奇怪的是,它对我来说很好。看看这里,也许你可以找到你想要的东西。我得到一个弹出窗口,上面写着使用Launcher或MyApplication完成操作(MyApplication是我的应用程序)。如果我选中MyApplication with use by default for this action复选框,则我获得了结果,如何在没有弹出选项的情况下实现这一点?唯一的方法是更改数据库中启动器的默认选项。我认为它需要一个系统许可,但我不确定。如果你提供一个链接或一个例子,这将非常有帮助。我试了很多,但都找不到是的,我在找一个例子:)