3

I would like to communicate with another Bluetooth device using the AVRCP vendor dependent or pass through command. From the API available, there does not seem to be any way to make such calls from an android application. Can anyone advise on whether this is possible and how this can be done if it is possible?

cdeszaq
  • 30,869
  • 25
  • 117
  • 173
user1003355
  • 41
  • 1
  • 4

3 Answers3

4

What you should do is to go directly and speak with the HCI layer of the BlueZ Bluetooth stack. You could do this through D-Buss daemon which you can do it from Userspace. Next you take the ARVCP specs for example 1.0, but you can find on Bluetooth SIG AVRCP 1.3 or 1.4 specs too, and start parsing the commands. This presentation should be helpful: Android Bluetooth Introduction and this stackoverflow question.

enter image description here

Community
  • 1
  • 1
garzanti
  • 2,162
  • 1
  • 22
  • 30
  • If I understand correctly this is only possible on rooted devices, yes? – Valentin Galea Dec 05 '11 at 12:37
  • @ValentinGalea I guess so, why a normal user would need something like this? If I would be a vendor I would've blocked this too. But frankly AVRCP profile should've been bundled along with Android. – garzanti Dec 05 '11 at 13:23
3

Refer the below link:

Adding AVRCP Plugin in Android GB

Marek Grzenkowicz
  • 17,024
  • 9
  • 81
  • 111
user1116309
  • 91
  • 1
  • 4
1

It seems like you confront the most common problem between Bluetooth devices, the Bluetooth compatible problem. Because the Bluetooth profiles do not strictly defined the audio related behaviors, the different behaviors implemented by different manufacturer would lead this problem. That's why every Bluetooth device should pass the Bluetooth Compatible Test of Bluetooth organization, however, it can not eliminate all problems.

As an open source implementation of Bluetooth Protocol Stack, Blue Z is not the best one in my mind and abnormal behavior of Bluetooth device also making trouble. If you have some test tool like PTS (profile tuning suite), try to use it to find out which side lead the problem. If everything is ok in profile side, that's good news for you, the problem may lead by some bugs of the related application. And if something wrong in the profile communication, it means you can not modified in API level, you may need some dirty work in profile stack and if you are phone manufacturer it can solve you problem, if you are not you can not slove the problem neither.

Matrix Bai
  • 1,097
  • 3
  • 11
  • 20
  • The AVRCP Android issue is not a compatibility issue, it's just not there, because it wasn't implemented in the BlueZ Bluetooth stack at the moment when first releases of Android were done. Later it was implemented AVRCP 1.0 and only this year AVRCP 1.3. The question it was for a possible work-around. – garzanti Dec 05 '11 at 23:22