【问题标题】:Android - creating custom launcherAndroid - 创建自定义启动器
【发布时间】:2011-10-29 17:42:39
【问题描述】:

我打算为 Android 手机开发自定义启动器。我在网上搜索过,但没有找到任何有关创建“启动器”项目的有价值信息。 Android 应用需要什么才能位于 GUI(又名启动器)的顶部?

【问题讨论】:

  • 当我听到launcher这个词时,我想到了打开应用程序的按钮。这是你指的吗?如果没有,您能否提供一个链接到您的意思 - 例如 Wikipedia
  • 是的,我的意思是 Launcher - 一个初始 GUI,在 Android 手机启动时加载(我们有来自 Google 的标准启动器、Samsungu 的 TouchWiz 或像 Launcher Pro 等自定义启动器)

标签: android launcher


【解决方案1】:

我在创建自己的启动器之前看到了这个帖子。
以下是我学到的一些重要知识:


将您的应用声明为启动器

David 已经提到了将您的应用确定为启动器的代码:

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

将此作为intent-filter 添加到您的启动器将用于主屏幕的活动中(在AndroidManifest.xml 中)。

启动器问题

由于启动器会一直运行,您需要understand the activity livecycle 以防止出现问题 (like this one)。

如果您希望用户(和您自己)能够持续使用该应用(这就是您通常使用启动器所做的),确保它永远不会崩溃。如果发生崩溃,用户会被带回设备默认启动器或其他已安装的启动器。

简而言之:启动器应该是可靠的。

常见的启动器功能(用户通常期望这些)

1) 应用列表/appdrawer

可以从中启动或修改所有应用程序。您可以使用packageManager 列出应用程序。

由于生成这样的列表可能需要一段时间,我建议您异步执行此操作并将列表保存在某处以加快速度(这也是启动器所期望的^^)

2) 一些更改启动器的设置

在实施这些操作之前,我有一些用户卡在我的启动器中 ^^

您可以像这样打开设备启动器设置(在 Kotlin 中):

// working in APIs newer than Lollipop
val callHomeSettingIntent = Intent(Settings.ACTION_HOME_SETTINGS)
startActivity(callHomeSettingIntent)

奖励)应用内教程

如果您的应用中有一些不重要的功能、启动用户从其他应用不知道的应用的方式,这可能会很有用。

它还可以减少来自用户询问如何与您的软件交互的消息。


资源:

【讨论】:

    【解决方案2】:

    嗯,首先你需要听取android.intent.category.HOME 的意图。以下是一些包含完整源代码的链接,您可以查看:

    或者看看launcher plus

    【讨论】:

      猜你喜欢
      • 2017-01-18
      • 1970-01-01
      • 1970-01-01
      • 2018-01-01
      • 1970-01-01
      • 2014-02-27
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多