今天客户又有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);
}
上面的解决方案,原来都是自己的猜想,后来得到客户的反馈,证明猜想完全正确!
本文解决了一个特定于Kindle Fire设备的问题,即使用Home键和Press键无法暂停背景音乐。通过调整日志输出级别和改进广播接收器的注册方式,实现了在Kindle Fire上正确暂停背景音乐的功能。详细步骤包括日志输出级别的修改和广播接收器注册方法的优化。

被折叠的 条评论
为什么被折叠?



