我一直试图拦截我的蓝牙耳机的答案按钮是徒劳的。我能够在耳机中收到来电铃声,一旦我从我的应用程序接听电话,我就可以听到耳机了。但是,我无法弄清楚如何截取我的应用程序中的“应答”按钮,这样我就可以使用耳机接听电话。
我的手机是Jelly Bean OS。我已经尝试使用注册媒体按钮接收器和一个带有IntentFilter ACTION_AUDIO_STATE_CHANGED的普通接收器,再次使用ACTION_CALL_BUTTON,但似乎没有任何效果。请让我知道如何让这个工作。非常感谢你的帮助。
答案 0 :(得分:0)
要让蓝牙设备首先运行,您需要在应用程序的清单文件中添加权限:
<manifest ... >
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
...
</manifest>
我确定,你一定已经完成了。
现在要控制蓝牙耳机,你可以使用蓝牙耳机服务:
示例代码段:
BluetoothHeadset mBluetoothHeadset;
// Get the default adapter
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
private BluetoothProfile.ServiceListener mProfileListener = new BluetoothProfile.ServiceListener() {
public void onServiceConnected(int profile, BluetoothProfile proxy) {
if (profile == BluetoothProfile.HEADSET) {
mBluetoothHeadset = (BluetoothHeadset) proxy;
}
}
public void onServiceDisconnected(int profile) {
if (profile == BluetoothProfile.HEADSET) {
mBluetoothHeadset = null;
}
}
};
// Establish connection to the proxy.
mBluetoothAdapter.getProfileProxy(context, mProfileListener, BluetoothProfile.HEADSET);
// ... call functions on mBluetoothHeadset
// Close proxy connection after use.
mBluetoothAdapter.closeProfileProxy(mBluetoothHeadset);