我打算为Android手机开发自定义启动器。我搜索过网络,但是我没有找到有关创建“启动器”项目的任何有价值的信息。 Android应用程序需要什么才能位于GUI的顶部(又称启动程序)?
答案 0 :(得分:6)
嗯,首先你需要听取android.intent.category.HOME
意图。以下是一些完整源代码的链接,您可以查看:
或者查看launcher plus。
答案 1 :(得分:2)
我在创建自己的启动器之前看到了这个线程。
这是我学到的一些关键知识:
David已经提到了确定您的应用为启动器的那段代码:
<category android:name="android.intent.category.HOME" />
将其作为intent-filter
添加到启动器将用于主屏幕的活动(在AndroidManifest.xml
中)。
由于启动程序将一直运行,因此您需要understand the activity livecycle来防止出现问题(like this one)。
如果您希望用户(和您自己)能够持续使用该应用程序(这是您通常使用启动器执行的操作),请确保它永远不会崩溃。如果出现崩溃,用户将被带回到设备的默认启动器或其他已安装的启动器。
简而言之:发射器有望可靠。
可以从中启动或修改所有应用程序。您可以使用packageManager
列出应用。
由于生成这样的列表可能需要一段时间,因此我建议您异步执行,并将列表保存在某个地方以加快所有操作(这也是启动器^^所期望的)
在实施这些^^
之前,我有一些用户被卡在启动器中您可以这样打开设备启动器设置(在Kotlin中):
// working in APIs newer than Lollipop
val callHomeSettingIntent = Intent(Settings.ACTION_HOME_SETTINGS)
startActivity(callHomeSettingIntent)
如果您的应用程序中有一些不平凡的功能,例如启动用户从其他应用程序中不知道的应用程序的方式,这可能很有用。
它还使您减少了来自用户的询问如何与您的软件进行交互的消息。
资源: