问题标签 [android-launcher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6695 浏览

android - 如何在自动卸载时从主屏幕删除应用程序快捷方式?

我正在开发一个应用程序,它应该在安装后将其快捷方式添加到主屏幕,并在卸载应用程序后将其删除。该应用程序将预安装在最终用户设备上,但仍应具有卸载选项)。这个任务看起来很简单,但我在实现它时遇到了很多麻烦。

我做了什么:

  • 在应用首次启动或 newt 设备重启时使用 com.android.launcher.action.INSTALL_SHORTCUT 将快捷方式添加到主屏幕。
  • 使用 com.android.launcher.action.UNINSTALL_SHORTCUT 手动删除快捷方式。

我不能(几乎放弃):

  • 卸载应用程序时自动删除快捷方式。

无法使用 Intent.ACTION_PACKAGE_REMOVED 因为正在卸载的应用程序没有收到此意图。我进行了一些测试,发现与应用程序一起删除的唯一快捷方式类型是从菜单“添加到主屏幕 => 快捷方式 => 应用程序 => 应用程序活动”创建的快捷方式。以编程方式创建或在 AndroidManifest 中声明的快捷方式在应用程序卸载后仍保留在主屏幕上。

论坛上几乎没有关于这个主题的文档和帖子,我有点困惑,为什么不能直接实施这样一个与 Android 安全策略不冲突的简单操作。

有没有办法让操作系统在应用程序卸载时删除相应的快捷方式?我可以捕捉到应用程序在被删除之前被卸载的事件吗?

0 投票
2 回答
7205 浏览

android - Android 启动器快捷方式

我做了一个简单的打卡/打卡时钟应用程序。我想为用户添加在主屏幕上创建快捷方式的选项,该快捷方式将切换应用程序的状态(超时/时间),但我根本不希望此快捷方式在屏幕上打开应用程序。

这是我的 setupShortcut()

Toggle.class 是一个为我切换状态的活动。在清单中我有这些设置

现在我可以在主屏幕上创建一个快捷方式,然后按下它。我第一次按下它时,它会启动 Toggle 活动并很好地完成它,但它也会在屏幕上打开 TimeClock 活动。如果我然后按下后退按钮,我就会回到家中。我现在可以按此快捷方式,它将启动 Toggle 活动而不更改屏幕。在我添加之前:shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 它每次都会打开 TimeClock 活动。现在这只是第一次。但我希望它在按下切换快捷方式时永远不会在屏幕上显示任何内容。有谁知道如何摆脱它?

0 投票
2 回答
798 浏览

android - 如何将我的应用设置为默认主页?

我正在开发一个 Android 桌面应用程序,我希望在它首次启动时(与用户确认并)将其设置为主页按钮的默认操作。

目前,只有当用户在运行我的应用程序后第一次按下 Home 按钮时,Android 系统才会向用户提供此选项。

实际上,我希望“返回”按钮不返回默认桌面,因为我的应用程序将成为默认桌面。也许这个解决方案与主页按钮的解决方案相同?

知道怎么做吗?

0 投票
1 回答
1046 浏览

android - 获取已安装应用程序的列表,很容易。但是如何启动其中之一呢?

我的第一个应用程序只是一种我想改进的启动器。此启动器将启动用户已安装的自定义主页。

这就像应用程序“Home Switcher,但我想自己做。

所以我的第一个目标是获取所有“家庭”应用程序列表:这真的很简单,代码就在那里:

现在我想在列表视图中做到这一点。我的第一个问题是获得图标:我失败了​​,但这不是我的主要问题(如果你能帮助我,我会很高兴)

我成功地制作了一个包含已安装主页的所有名称的列表视图:

现在当我点击一个主页时,我想启动主页,所以我所做的是:

因此,出现了一个框并问我:

使用:LauncherPro - 或 Sense - 或 ADW Wallaper Gallery 完成操作

我想我已经接近我想做的事情了,但是,我想我错过了一些东西,是吗?

0 投票
1 回答
533 浏览

java - 在启动器中创建第二个快捷方式

我正在 Android 中创建一个很酷的 Home 应用程序。

由于这是一个家庭应用程序,我不希望她出现在启动器中的所有应用程序列表中。

这很容易,但现在我希望显示此应用程序的设置。因此,我在 Manifest 中以这种方式创建了我的应用程序的首选项:

这工作得很好,我在启动器中有一个额外的图标!

唯一的问题是当我点击图标时什么也没有发生。因此,我可以从应用程序中启动我的首选项:

那么,为什么启动器中的快捷方式完全无用并且不启动任何东西?

更多信息在这里:

当我从应用程序中启动时记录(启动首选项,完美运行):

当我从启动器启动时(没有任何反应):

我的活动:

0 投票
2 回答
1676 浏览

android - Android 启动器主屏幕

在android主屏幕中,我们可以左右滑动屏幕并显示多个页面。这些页面中的每一个都有一组不同的图标。在 Mac 世界中,这些将被称为“空间”。他们在 Android 世界里叫什么?

更重要的是有没有标准的控件可以用来达到这个效果?

0 投票
1 回答
1401 浏览

android - 在应用程序启动器中将多个应用程序分组在同一个图标下

我想在应用程序启动器中将多个应用程序分组在同一个图标下。例如,5 个应用程序,每个应用程序显示 1 个不同的图像。但是这 5 个应用程序应该在 Android 市场上作为单独的应用程序出现,因此它们需要具有不同的包名称。

但不同的包名称意味着在 Android 设备上,它们将在应用程序启动器中显示为 5 个独立的应用程序,这是我试图避免的。

我发现最接近的解决方案是监听PACKAGE_ADDED广播事件,每次在设备上安装这 5 个应用程序中的另一个应用程序时,所有已安装的应用程序都会调用setApplicationEnabledSettingPackageManager隐藏它们的图标并让刚刚安装的应用程序来处理事情. 但是这些图标只有在重新启动设备后才会隐藏。

有没有办法强制应用程序启动器在运行时刷新?或者还有其他方法可以解决我的目标吗?我的选择已经不多了。谢谢!

0 投票
2 回答
4623 浏览

android - 如何防止自定义主页启动器应用重启活动?

我正在研究自己的家用发射器更换,它工作正常,但有一件事困扰着我。当我按下主页键时,当前主页活动(在清单中定义为 main/defualt/launcher/home 的活动)重新启动 - 执行当前活动实例 onpause 并再次触发 oncreate,因此会启动新活动。

另一方面,ADW 启动器和 LauncherPRO 的行为并非如此——我不会像我的情况那样进行刷新。Launcher Pro 甚至可以执行多项操作:

  1. 如果您在带有应用程序图标的主屏幕上,它会缩小以查看所有屏幕的快照,
  2. 如果您打开抽屉并按主页,它就会返回主屏幕。

任何想法如何做到这一点?

我只是从头开始做了一个非常简单的原型,只有一个活动(在清单中定义为 main/defualt/launcher/home),我看到了同样的事情——如果我按下 Home,它会被重新创建。

0 投票
3 回答
10096 浏览

android - Android 覆盖主页键

正如问题所暗示的,我知道我们不能覆盖 Home 键事件,但如果你查看android 2.2的模拟器,你会看到一个应用程序Car Home,它已经覆盖了大多数键,如 Home、结束通话。

现在,关键是他们是怎么做到的?我试图窥视该应用程序的源代码,但令我惊讶的是它不可用或我无法找到它,但我认为以后不会是这种情况。

0 投票
3 回答
7182 浏览

android - 自动阻止应用从启动器启动

有一类 Android 应用程序可以在某些用户指定的应用程序上启用密码保护;例如,Android 保护器。我需要从不同的方向来解决这个问题。

是否可以创建一个阻止所有活动启动的应用程序,除非它们在预定义的白名单上?这种方法会产生意想不到的后果吗?我熟悉 Android 基础知识并编写了一些相当简单的应用程序,但我仍在试图弄清楚这些“保护器”应用程序如何正确拦截启动意图。有人介意给我一个关于正确方法的简要概述吗?

基本问题是我们有一个需要锁定的通用 Android 手机,以便我们的客户(仅限内部)可以访问我们的自定义应用程序而不能玩“极品飞车”等。我想删除运营商bloatware,但生根设备似乎是一个令人头疼的维护问题。我们希望每部手机的设置都像安装一些自定义应用程序一样简单。