Android Catch KeyEvent在一项服务中

时间:2011-11-06 18:47:01

标签: android service keyevent

我需要为Android制作一个应用程序,其中一个要求是当我按下一个键(例如volumekey)时,我的手机需要告诉我未读消息的数量。一切正常:我可以通过文字转语音告诉用户未读消息,我有广播接收者,活动和服务。在活动中你可以启动或停止服务,在服务中我统计未读消息,但现在我必须知道如果在服务运行时如何在手机的主屏幕上捕捉按键事件,因为当按下按键时,我需要告诉用户有多少消息未读。在活动中,捕获一个keyevent很简单,但是当服务运行并且你不在活动中时它也必须工作。也许我可以用广播接收器来做,但我不知道如何。

1 个答案:

答案 0 :(得分:1)

  

在活动中,捕获一个关键事件很简单,但是当服务运行且你不在活动中时它也必须工作。

不支持此功能。您可以获得的最接近的是ACTION_CAMERA_BUTTONACTION_MEDIA_BUTTON,但并非所有用户都拥有这些按钮,并且只有在用户按下按钮并且前台活动不消耗该事件时才会广播它们(例如,相机应用程序使用CAMERA按钮作为快门触发器。)