创建';中间商&x27;Android中的耳机按钮控制器

创建';中间商&x27;Android中的耳机按钮控制器,android,android-emulator,Android,Android Emulator,全部, 我已经找到了答案,但我没有得到任何确切的答案。。。这是我第一次编写Android应用程序,所以请温柔一点:) 我对安卓系统中的最低限度的耳机支持感到非常失望——与iPhone不同,安卓系统似乎只支持一个按钮,因此在耳机兼容性方面没有音量控制。此外,如果我正在听音乐,并且有电话接通,操作系统会自动暂停音乐,但耳机按钮仍仅起媒体按钮的作用-我无法使用它接听/挂断电话。如果我通过屏幕接听电话并按下耳机按钮,音乐会再次启动,但通话会继续 我想创建一个“中间人”应用程序,它可以检测耳机按钮是否已按

全部,

我已经找到了答案,但我没有得到任何确切的答案。。。这是我第一次编写Android应用程序,所以请温柔一点:)

我对安卓系统中的最低限度的耳机支持感到非常失望——与iPhone不同,安卓系统似乎只支持一个按钮,因此在耳机兼容性方面没有音量控制。此外,如果我正在听音乐,并且有电话接通,操作系统会自动暂停音乐,但耳机按钮仍仅起媒体按钮的作用-我无法使用它接听/挂断电话。如果我通过屏幕接听电话并按下耳机按钮,音乐会再次启动,但通话会继续

我想创建一个“中间人”应用程序,它可以检测耳机按钮是否已按下(通过Keyevent.KEYCODE\u HEADSETHOOK),然后可以确定是否执行默认操作\u MEDIA\u按钮操作(在我选择的媒体播放器中切换播放/暂停),或者,如果有来电,暂停音乐并接听电话(然后,当再次按下时,结束通话并重新启动媒体播放器)。甚至可以检查耳机按钮上的多个操作,以分配不同的选项(下一个操作、上一个操作)。还可以确定是否按下了耳机上的不同按钮(例如,如果耳机是一个别致的iPhone耳机)并将这些按键转换为相应的动作(媒体)。显然,如果操作系统无法区分不同按键之间的差异,这可能是不可能的

显然,这样的应用程序必须以足够高的优先级接收意图,以便能够在当前媒体播放器接收到之前中止广播

我一直在尝试创建各种广播接收器类和意图过滤器等,但问题的一部分在于Eclipse附带的bult-in-Android emulator似乎没有能力模拟用户插入耳机和/或随后单击耳机按钮。因此,每次我都得到一些信息看起来很有希望,我必须把它放在我的手机上试一下——既费时又麻烦

3个问题:

  • 我是否遗漏了一些显而易见的东西?这是一个真正的问题吗?如果是,它已经解决了吗

  • 如果这是一个问题,是否有可能编写这样一个中间人应用程序

  • 是否有其他Android模拟器可以检查与耳机相关的活动
  • 谢谢


    Rory

    我已经编写了这种应用程序。它的名字就像这个thead的主题:耳机按钮控制器;-)


    Christoph干杯

    我对耳机一无所知,但它应该直接部署到手机上。只需使用USB电缆将其插入,当您从eclipse运行Android应用程序时,它将部署在您的手机上。没有比在模拟器上运行更难的了。Mayra,你是对的,它看起来并不太糟糕,但是由于我保持模拟器打开,在那里复制应用程序需要几秒钟,而复制到手机上则需要更长的时间。也许是因为我只有USB 1.0(说来话长!)。另外,我不喜欢在我的手机上安装应用程序,除非我知道它们工作得很好(我的东西几乎肯定不会!)。事实上,我还应该问一个问题:如果有这样的应用程序,它能在没有根的手机上工作吗?克里斯托夫:太好了,因此,我不需要编写自己的耳机按钮控制器:)这是否也允许通过耳机按钮接听来电?好的,请阅读其中的说明,最新版本确实实现了接听/挂断逻辑。我会让你知道它是否对我的Droid X有效。是的,它很有效@马丁,如果你想从一个漂亮的小应用程序中寻找答案,克里斯托夫的很酷。只是为了方便。这不是问题的答案。