我一直在替换库存汽车家庭应用程序的替代品,我完全对如何覆盖主页按钮感到非常困惑,以便每当手机停靠时,我的应用程序都会被带回前景。这是汽车家庭工作的方式,因此必须有一种方法。

看来,广播媒介无法正常工作,因为每当按下主页按钮时,其意图仍然会导致默认的HomeScreen应用程序启动;我无法阻止它。我可以从应用程序内部覆盖主按钮,但这对我不好,因为当用户在我的应用外面时,这需要工作。 Car Home也不会做任何怪异的事情,例如在运行时将其作为默认的Homesscreen应用程序设置(我检查了LogCat以确保)。

我一直在撞到这堵墙上。有人有任何想法吗?还是您至少可以将我指向正确的方向?

有帮助吗?

解决方案

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

http://developer.android.com/reference/android/content/intent.html#metadata_dock_home

通过在AndroidManifest.xml中使用此功能,您可以暂时使Dock应用程序成为家庭申请。为此,请将此行添加到dock应用活动活动标签中的androidmanifest.xml:

<meta-data android:name="android.dock_home" android:value="true" />

如果该值设置为TRUE,只要您的手机停靠了,主页按钮就会返回到Dock应用程序。撤消后,主页按钮将带您回到普通的家庭应用程序。

其他提示

不幸的是,如果没有用户对其进行确认,则公共API无法覆盖主页。

最好的选择是实施 CATEGORY_HOME 意图。这意味着,当用户按回家时,他们将获得运行标准房屋或您的标准房屋的选项,并在需要的情况下将其默认设置为默认设置。

启动您的应用程序时,您可以检查手机是否停靠。如果没有停靠手机,则可以打开标准主屏幕并在显示任何内容之前关闭应用程序。

您需要在清单中使用正确的意图过滤器,以便应用程序停靠手机时自动启动。参考 http://developer.android.com/reference/android/content/intent.html#category_car_dock 有关信息。

我找到了一种解决家庭钥匙的方法。对于您的应用程序,将清单设置为

<action android:name="android.intent.action.MAIN" />                              
<category android:name="android.intent.category.HOME" />                                
<category android:name="android.intent.category.DEFAULT" />                            
<category android:name="android.intent.category.MONKEY"/> 

现在,UR应用程序是替代启动器应用程序。

使用ADB,并使用软件包管理器禁用启动器应用程序

PM禁用com.android.launcher2。

现在,主钥匙出版社将在同一屏幕上保留。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top