Android-锁定时阻止硬件按钮

Android-锁定时阻止硬件按钮,android,samsung-mobile,Android,Samsung Mobile,我正在研究制作一个应用程序,防止音量上下键时的默认操作,并希望获得一些输入,看看我是否在浪费时间尝试 以下是设置: 我有三星Galaxy S3。我喜欢听音乐。当手机被锁在口袋里时,我经常会无意中改变播放内容的音量 起初我认为这很简单;测试了onKeyDown方法的简单重写,用于检索卷键的整数值。我很快意识到,只有在我不锁定手机并只打开应用程序的情况下,这才有效 接下来,我发现了一些关于服务的文章,但是我认为这也不能满足我的需求,因为它不是活动的子集,因此没有实现onKeyDown;除非我弄错了,

我正在研究制作一个应用程序,防止音量上下键时的默认操作,并希望获得一些输入,看看我是否在浪费时间尝试

以下是设置:

我有三星Galaxy S3。我喜欢听音乐。当手机被锁在口袋里时,我经常会无意中改变播放内容的音量

起初我认为这很简单;测试了onKeyDown方法的简单重写,用于检索卷键的整数值。我很快意识到,只有在我不锁定手机并只打开应用程序的情况下,这才有效

接下来,我发现了一些关于服务的文章,但是我认为这也不能满足我的需求,因为它不是活动的子集,因此没有实现onKeyDown;除非我弄错了,否则唤醒锁实际上会唤醒和/或解锁手机

我应该现在放弃,还是这真的可以实现? 事实上,这必须是可能的,因为我不必为这一功能支付3英镑的应用程序。哈哈

注:运行4.2.1 Android是新的,但Java不是

史蒂夫

编辑:只是一个想法,但是如果我将活动扩展到我自己的类并覆盖onKeyDown,并将其作为静态实例在服务中实例化,那么在手机锁定时该自定义活动会持续吗

Edit2:我发现这建议在锁定时使用FLAG\u SHOW\u。我回家后会开始看这个,但我仍然愿意接受建议和建议:D

编辑3: 好的,那么告诉我如果我开始失去这里的情节。。。 使用广播接收器,我将收听操作屏幕关闭标志。如果调用了该选项,请使用onKeyDown覆盖创建我的自定义活动,并将其设置为在锁定时将其标记为“显示”,以接管我的锁定屏幕我不在乎,因为屏幕已关闭。然后,接收器会监听动作屏幕关闭,如果调用,它会在显示屏幕之前或之后销毁活动,如果它闪烁,我不介意。 甚至可能只是暂停它,只有在它检测到解锁时才杀死它

也非常感谢@StoneBird让我走到了这一步,有时候和一个知道他们在谈论什么的人一起讨论一下会很有帮助。

试试这个

您可以启动一项服务,并将系统音量设置为每1毫秒一次,以使其保持稳定水平。不需要进行键检查,因为该值每1ms被覆盖一次


此外,市场上还有免费的音量保持器,因此您无需为此付费。

这就是人们在android设备上实现此类功能的方式吗?为了在自己的线程中有一个常量循环,我假设哪个线程在不断地设置体积值?对我来说,这似乎是一种不好的做法,但如果我错了,请务必纠正我。我在搜索听众,但找不到任何相关的内容,所以我提出了这个想法,这实际上是一种蛮力风格的东西。但是你可以监听ACTION\u SCREEN\u OFF和ACTION\u SCREEN\u ON来控制何时开始循环。这些是系统范围的广播。当您有一个活动并且希望它在锁定时工作时,FLAG_SHOW_WHEN_LOCKED很有用。但是你必须首先开始你的活动。好的,谢谢你到目前为止提供的信息,非常有用;这就引出了一个问题:我是否可以使用一个服务来监听操作屏幕关闭操作,以便在锁定时使用FLAG\u SHOW\u启动我的活动?或者屏幕关闭/锁定的事实会阻止显示该操作吗?在manifest.xml中,您可以注册可以加载广播接收器类的内容,因此您不需要为收听内容提供单独的服务。有了这个标志,您的窗口将接管锁屏。然而,由于屏幕关闭,我不知道接管锁屏是否有任何用处。