I have an LG Optimus G Pro, and whenever I connect the phone to my bluetooth car deck, it doesn't update the Now Playing status unless I use the stock music app. I'm currently using PowerAMP as my music player, and the Bluetooth metadata option in PowerAMP's setting does nothing. I did some digging around, mainly in BluetoothServices.apk, and I found out that the AVRCP service ignores any metadata that isn't "android.media.MediaPlayer.action.METADATA_CHANGED ". PowerAMP doesn't use this intent, and this is why the phone does not update the AVRCP data to my car's deck.
The main question I have here is, is it possible to call functions from the BluetoothServices.apk file? I have already found the methods that I need to call in order to manually access the AVRCP service. The problem is, I don't really know how. I tried adding a decompiled BluetoothServices.apk file as a library, but that didn't help me, as it apparently was adding an entirely new copy of the file into my apk.
If this is impossible, is it possible to get every song listed in the MediaStore?
I did a bit of research, and apparently the only way to do this would be to force my app, and BluetoothServices.apk to be run under the same VM. Is this possible? My device is rooted if that matters at all.