如下是我自己研究过程的总结,想知道结果的直接看最后即可。
==============================过程总结==========================================
在上篇博客中我写到,在远程控制音乐软件的实现中,我在4.4系统里遇到了问题。需要获取到当前播放的音乐软件的包名才能解决。就在进行了一定时间的查找,意外的发现android貌似没有提供这样的api。这一下我一下丢失了方向。甚至想到直接获取系统中所有的包名,直接搜索常用音乐软件来草草完成。
最后由于时间比较充裕,就多研究了一段时间,突然想到,这既然是系统的为了耳机来完成远程控制的动作,那么系统应该会注意到这个问题才对。果然,我使用耳机上的按钮来操作,则没有任何问题。所以我开始研究android的系统源码究竟是如何做到这一点的。耳机控制需要使用Intent的,在intent.java(以下代码均来源于android4.4源码)中可以找到如下字段:
public static final String ACTION_MEDIA_BU