我回复我的答案,我检查源代码“BluetoothHandsfree.java”,这是不可能的,除非重新编译源代码添加特殊广播或添加一些标志来做。我真的希望谷歌可以在蓝牙 Api 上添加自定义按钮事件,我们可以在蓝牙耳机按钮事件上做任何事情。只需点击按钮,我们可以使用语音命令和控制手机中的任何应用程序。不是触摸屏。或与人工智能程序对话,我们可以在自己的应用程序中添加功能,可以按下按钮说某事或做某事。这很容易,但是现在 .......:(
我想捕捉蓝牙耳机按钮单击或双击事件。我们都知道,当双击蓝牙耳机的按钮时,电话会拨打最后一个号码。所以我在“onReceived()”中添加过滤广播“Intent.ACTION_NEW_OUTGOING_CALL”我收到了广播。所以当点击按钮时,收到它,但我发现我不知道是谁在广播这条消息?电话或蓝牙耳机。
在android 4.0.3中,当相机被激活时,双击蓝牙按钮手机(HTC)会拍照,但我仍然无法捕捉到事件?我怎么能抓住它?还是不可能?接收 AT 命令并在我的应用程序中做某事???
跟踪日志:
07-26 11:07:21.958: I/蓝牙 AT recv(1798): AT+BLDN
07-26 11:07:21.958: I/蓝牙 HS/HF(1798): +BLDN
07-26 11:07:21.958: D/Bluetooth HS/HF(1798): searchKeyString input=ActivityRecord{4124aef0 com.htc.launcher/.Launcher}, key=com.android.camera/.CameraEntry
07-26 11:07:22.138: D/PhoneUtils(1798): checkAndCopyPhoneProviderExtras: 缺少部分或全部附加功能。
07-26 11:07:22.328: W/memalloc(1444): 回退到 ashmem
07-26 11:07:22.328: D/memalloc(1444): ashmem: 分配的缓冲区基数:0x41b15000 大小:294912 fd:59
07-26 11:07:22.328: D/memalloc(2137): ashmem: 映射缓冲区基数:0x52eb1000 大小:294912 fd:102
07-26 11:07:22.328: I/ActivityManager(1590): 启动 proc net.dinglisch.android.taskerm 广播 net.dinglisch.android.taskerm/.ReceiverStaticCallRewriter: pid=4089 uid=10140 gids={1015, 1006 , 3001, 3002, 3003}
07-26 11:07:22.338: I/Adreno200-EGLSUB(1444): : Android 图像
07-26 11:07:22.338: I/Adreno200-EGLSUB(1444): : RGBA_8888
07-26 11:07:22.378:I/dalvikvm(4089):为目标 SDK 打开 JNI 应用程序错误解决方法 07-26 11:07:22.408:D/dalvikvm(4089):调试器已分离;对象注册表有 1 个条目
07-26 11:07:22.478: D/WirelessDisplayService(1590): CallReceiver: actionandroid.intent.action.NEW_OUTGOING_CALL