我是android的新手,我正在尝试开发一个可以响应硬件输入的应用程序,比如相机按钮、免提呼叫应答按钮等。
以相机按钮为例。当它被按下时,默认的相机应用程序被启动。我想要做的是阻止默认响应,并使我的应用程序对此做出响应。我知道有可能替换相机应用程序,但这不是我所期望的。
当按钮被按下时,我的应用程序应该首先运行,一旦我的应用程序完成,我的应用程序将直接转到相机应用程序。如果可能的话,请告诉我正确的方向。
发布于 2012-05-06 21:22:28
目前,ACTION_CAMERA_BUTTON是一种有序广播。您可以创建具有较高优先级的<intent-filter>,以尝试在固件自己的相机应用程序之前获得控制,做您想做的事情,并调用abortBroadcast()以阻止较低优先级的筛选器接收此广播。
但是:
在编译时,您无法知道固件中相机应用程序的优先级是什么,或者用户可能拥有的任何其他相机应用程序installed.
ACTION_CAMERA_BUTTON都没有记录为发布于 2012-05-06 21:26:49
当你按下相机按钮时,它故意让用户决定做什么(如果手机有这样的按钮,大多数人没有!)。默认情况下,它会打开相机应用程序,但听起来你已经知道了这一点,以及如何注册一个活动来接收这些事件(意图)。
这将让用户选择当该按钮被按下时使用哪个应用程序(或者更确切地说是活动)。如果用户愿意,他可以在现在弹出的列表中选择你的活动(因为现在有两个选项来处理相机按钮的按下)。他/她还可以选择始终使用列表中的一个选项。因此,如果你的应用程序是用户想要的,他/她可以选择,如果他/她在按下按钮时总是想要你的应用程序,他/她也可以指定。
https://stackoverflow.com/questions/10470714
复制相似问题