Android重写主键

由于问题表明我知道我们不能重写主键事件,但如果你看看Android 2.2的模拟器,你会看到一个应用程序汽车之家,它已经覆盖了大部分的关键,如家庭,结束通话。

现在,问题是他们怎么做到的? 我试图偷看应用程序的源代码,但令我惊讶的是它不可用,或者我无法find它,但我不认为以后是这样的。

我同意@Romain Guy

您不能覆盖主页button的行为。

Car Home应用程序做了什么:它已经定义为一个启动器。 您也可以将您的定义为启动器,并在主屏幕即将启动时收到通知。

看看这个: Intent.html#CATEGORY_LAUNCHER

请注意,这并不意味着您的应用程序/活动会在按下主页button时得到通知,以便它可以覆盖它的行为,但在系统即将启动主屏幕时收到通知。 两者是不同的东西。 在这种types的通知中,Android已经将应用程序(当前正在执行的)发送到冻结状态,并且不会控制发生的事情。

据我所知,这是。 我想@Romain Guy可能会纠正我,如果我在任何地方错了。

它不会覆盖Home键,汽车之家应用程序就像一个启动程序,任何应用程序都可以执行。 这个行为在清单文件中被声明。

看起来像下面的4.0:

在AndroidManifest.xml中

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