1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android5.1蓝牙反向控制(Avrcp协议)流程

android5.1蓝牙反向控制(Avrcp协议)流程

时间:2023-02-01 01:09:08

相关推荐

android5.1蓝牙反向控制(Avrcp协议)流程

参考

1.APP

private BluetoothAvrcpController mAvrcpController;

List<BluetoothDevice> devices = mAvrcpController.getConnectedDevices();

for(BluetoothDevice device : devices)

{

mAvrcpController.sendPassThroughCmd(device, 68, BluetoothAvrcp.PASSTHROUGH_STATE_PRESS);

mAvrcpController.sendPassThroughCmd(device, 68, BluetoothAvrcp.PASSTHROUGH_STATE_RELEASE);

}

2.frameworks/base/core/java/android/bluetooth/BluetoothAvrcpController.java

public void sendPassThroughCmd(BluetoothDevice device, int keyCode, int keyState)

{

mService.sendPassThroughCmd(device, keyCode, keyState);

}

3.packages/apps/Bluetooth/src/com/android/bluetooth/avrcp/AvrcpControllerService.java

private native boolean sendPassThroughCommandNative(byte[] address, int keyCode, int keyState);

(1)public void sendPassThroughCmd(BluetoothDevice device, int keyCode, int keyState)

{

Message msg = mHandler.obtainMessage(MESSAGE_SEND_PASS_THROUGH_CMD, keyCode, keyState, device);

mHandler.sendMessage(msg);

}

(2)private final class AvrcpMessageHandler extends Handler

{

public void handleMessage(Message msg)

{

switch (msg.what)

{

case MESSAGE_SEND_PASS_THROUGH_CMD:

if (DBG) Log.v(TAG, "MESSAGE_SEND_PASS_THROUGH_CMD");

BluetoothDevice device = (BluetoothDevice)msg.obj;

sendPassThroughCommandNative(getByteAddress(device), msg.arg1, msg.arg2);

break;

}

}

4.packages/apps/Bluetooth/jni/com_android_bluetooth_avrcp_controller.cpp

static jboolean sendPassThroughCommandNative(JNIEnv *env, jobject object, jbyteArray address, jint key_code, jint key_state)

{

sBluetoothAvrcpInterface->send_pass_through_cmd((bt_bdaddr_t *)addr,uint8_t)key_code, (uint8_t)key_state))!= BT_STATUS_SUCCESS);

}

5.external/bluetooth/bluedroid/btif/src/btif_rc.c

static bt_status_t send_passthrough_cmd(bt_bdaddr_t *bd_addr, uint8_t key_code, uint8_t key_state)

{

bt_status_t tran_status = get_transaction(&p_transaction);

BTA_AvRemoteCmd();

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。