HOME按钮不起作用,是否可以听?

pho*_*der 6 android listen android-intent android-homebutton

好的,这是我的问题.每当我按下HOME按钮时都没有任何反应.如果我在一个应用程序并按下它我不会像我应该被发送到主屏幕.

但是,如果屏幕被锁定并按下它,屏幕将亮起(因为按下了一个键).

所以从我可以看出,系统正在注册HOME的按键,但没有调用"android.intent.category.HOME"意图.

有没有办法监控HOME按钮,如果按下它,请从我的应用程序调用"android.intent.category.HOME"意图?我看了整个StackOverflow,但是当HOME意图没有激活时,我找不到任何工作方式来监听HOME键.

审查问题:

HOME键按下会导致系统在锁定时唤醒,因此键显然有效.

HOME按钮不会激活"android.intent.category.HOME"意图,也不会将所有打开的应用程序发送到后台.

有帮助吗?

小智 12

我在TF101上遇到了这个问题,我想我用Titanium Backup删除了一些android设置.重新启动设备后,主页按钮将不执行任何操作,某些快速设置将不会显示,电源按钮将显示很少的选项.

许多网站促使我重置工厂(备份和恢复需要一天).在尝试了几种可能的解决方案之后,我找到了解决它的这个主题http://forum.cyanogenmod.org/topic/19605-home-button-issues-striking-back/.

我使用安装在我的Ubuntu上的android sdk,使用以下步骤:

  1. 使用adb作为su来检索android设置数据库:

    sudo platform-tools/adb -d pull /data/data/com.android.providers.settings/databases/settings.db settings.db

  2. 使用sqlite3检查device_provisioned是否为1(缺少此设置)

    tools/sqlite3 settings.db"select*from secure;" | grep规定

正确答案是"nnn | device_provisioned | 1",其中nnn是行号.如果没有答案,则必须将此设置添加到文件中.

  1. 使用sqlite3将此设置添加到文件中

    tools/sqlite3 settings.db"INSERT INTO secure(name,value)VALUES('device_provisioned','1');"

  2. 将文件放回Android设备上

    sudo platform-tools/adb -d push settings.db /data/data/com.android.providers.settings/databases/settings.db

  3. 断电安卓(起初我在电源按钮菜单上尝试了重启选项,但它以某种方式恢复了我的错误设置.之后我按下电源按钮,直到设备自行关闭.)

  4. 打开.主页按钮再次工作(以及其他缺少的功能).


Com*_*are 0

但是,如果屏幕被锁定并且我按下它屏幕会亮起(因为按下了一个键)。

正如其他人评论的那样,这不是正常的 Android 设备行为。也许这对于您的手机型号来说是正常的,在这种情况下,我很遗憾听到这个消息,因为您的电池寿命可能会很糟糕,因为您将永远按下 HOME 按钮并打开屏幕。

有没有某种方法可以监视 HOME 按钮,并且如果按下该按钮,则从我的应用程序中调用“android.intent.category.HOME”意图?

不。您可以编写一个实现主屏幕的活动,但这似乎不太可能对您有帮助。

有什么帮助吗?

最有可能的是,您的设备上有一些应用程序是您的默认主屏幕,并且行为异常。尝试查找并卸载它。或者,在安全模式下重新启动手机,看看是否可以恢复控制权,以便您可以找到并卸载它。或者,将您的手机恢复出厂设置。

有关此主题的进一步讨论,请访问http://android.stackexchange.com,这是 Android 最终用户问题的主页。