如何实现在amazon Kindle Fire上 按Home,Press键让背景音乐暂停

本文解决了一个特定于Kindle Fire设备的问题,即使用Home键和Press键无法暂停背景音乐。通过调整日志输出级别和改进广播接收器的注册方式,实现了在Kindle Fire上正确暂停背景音乐的功能。详细步骤包括日志输出级别的修改和广播接收器注册方法的优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天客户又有feedback过来,说在KindleFire上面,按Home,Press键无法让背景音乐暂停。其它机器上用以前的方法都可以实现这样的效果。


到网络上找了一段Kindle Fire的日志信息,发现跟其它机器上没有什么区别,唯一的区别是就是日志的输出级别从 I换成了 D

11-23 09:56:47.812 D/ActivityManager( 1377): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.amazon.kindle.otter/.Launcher } from pid 1377


解决方案很简单: 把I换成D

mLogcatProc = Runtime.getRuntime().exec(new String[] { "logcat","ActivityManager:D *:S" });


对于power键的处理,还是沿用以前的方法,只是你在注册广播接收器的时候,要用封装好的常量,不要直接用字符串。

以前的代码:

private void registerIntentReceivers()
{
Log.d(TAG, "***registerIntentReceivers");
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
filter.addAction("android.intent.action.SCREEN_ON"); //注意问题就是出在这里,amazon也修改了这些常量的具体值
LockLisnter receiver = new LockLisnter(); //用于侦听
registerReceiver(receiver, filter);
}

现在的代码:

private void registerIntentReceivers()
{
Log.d(TAG, "***registerIntentReceivers");
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);

SceenStateChangeListener receiver = new SceenStateChangeListener(this.getApplicationContext());
registerReceiver(receiver, filter);
}


上面的解决方案,原来都是自己的猜想,后来得到客户的反馈,证明猜想完全正确!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值