首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖汽车主页替换应用程序的主页按钮

覆盖汽车主页替换应用程序的主页按钮
EN

Stack Overflow用户
提问于 2010-05-19 11:21:09
回答 4查看 6.6K关注 0票数 5

我已经开发了一段时间来替代现有的Car Home应用程序,我完全不知道如何覆盖Home按钮,这样每当手机停靠时,我的应用程序都会被带回前台。这就是Car Home的工作方式,所以一定有办法。

BroadcastReceivers似乎行不通,因为每当按下Home键时播放的意图仍然会导致默认的homescreen应用程序启动;我无法阻止它。我可以在我的应用程序中覆盖Home按钮,但这对我没有好处,因为当用户在我的应用程序之外时,这需要工作。Car Home也不会做任何奇怪的事情,比如在运行时将自己设置为默认的homescreen应用程序(我检查了logcat以确保)。

在这件事上我真的把头撞到墙上去了。有没有人有什么想法,或者至少能给我指个方向吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-25 22:02:56

几个月后,我终于找到了这个问题的答案。关键是"android.dock_home“元数据元素,可以在这里找到:

http://developer.android.com/reference/android/content/Intent.html#METADATA_DOCK_HOME

通过在您的AndroidManifest.xml中使用它,您可以使您的dock应用程序临时成为主应用程序。为此,将下面这一行添加到停靠应用程序活动的活动标记内的AndroidManifest.xml中:

代码语言:javascript
复制
<meta-data android:name="android.dock_home" android:value="true" />

如果将该值设置为true,则只要您的电话已停靠,Home按键就会返回到停靠应用程序。移除后,主页按钮将带您返回正常的主页应用程序。

票数 9
EN

Stack Overflow用户

发布于 2010-05-19 14:13:27

不幸的是,在未经用户确认的情况下,公共API中无法覆盖Home按钮。

您最好的选择是实现一个CATEGORY_HOME意图。这意味着当用户按下Home时,他们将看到运行标准Home或您的Home的选项,并根据需要将您的Home设置为默认值。

当您的应用程序启动时,您可以检查电话是否已停靠。如果手机没有停靠,那么你可以打开标准的主屏幕,在显示任何东西之前关闭你的应用程序。

票数 2
EN

Stack Overflow用户

发布于 2010-05-19 22:57:21

您需要在清单中设置正确的意图筛选器,以便应用程序在您停靠手机时自动启动。有关信息,请参阅http://developer.android.com/reference/android/content/Intent.html#CATEGORY_CAR_DOCK

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2862629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档