Back to Top

Possibility to 'learn' bluetooth signals to do actions?

6 posts / 0 new
Last post
dsample
Offline
Last seen: 5 years 4 months ago
Joined: 02/23/2013 - 06:28
Possibility to 'learn' bluetooth signals to do actions?

I'd like to be able to make the buttons on my bluetooth car kit do actions within DoggCatcher. My car kit has many buttons, and most do nothing in Android, so I'd like to make them useful when I'm driving so I can control the podcasts I listen to.

I've been a user of Nokia car kits for many years, but since I've had Android devices the (very good quality) car kit (Nokia CK-300) is of very little use for anything other than basic phonecalls. It has the following buttons, and I'd really like them to do the following actions in DoggCatcher:

- Speaker (tap): Play/Pause
- Hang-up (hold): Pause
- Centre button (tap): Swap wheel control sets
- Wheel (tap): Control set 1: Select item on screen, Control set 2: Next episode
- Wheel (hold): Control set 1: Go back to previous screen, Control set 2: Previous podcast
- Wheel (clockwise): Control set 1: Move down the list Control set 2: Skip forward 10/30 seconds
- Wheel (anticlockwise): Control set 1: Move up the list, Control set 2: Rewind 10/30 seconds

I know I'm asking a lot (allow me to dream :o) ) when it comes to the swapping of control sets (it used to do more complex stuff than that on my Nokia phones), but even a simple ability to press a button on my car kit and associate it with an action within DoggCatcher would be amazing.

To give a similar example, Logitech Harmony or 1-4-All remote controls have the ability to 'learn' from other remote controls. You simply press the button on the Harmony remote that you want to programme, then press the real remote's button, aiming it into a sensor at the bottom of the Harmony remote, then the Harmony button now does what you wanted it to.

Also, this could be the useful for other bluetooth devices like headsets with many buttons, or even on bluetooth/wired headsets with only a single button (for click, double-click, and hold events).

I started developing a car dock application a while ago which would try and do some of this for me, but I haven't gotten very far with it yet, and I'm not sure DoggCatcher has 'deep link' Android activities which I could hook into.

eric
Offline
Last seen: 1 year 9 months ago
Joined: 11/06/2008 - 22:02
There are two things that

There are two things that would have to happen for this to work. Firstly DC would need to expose intents for the operation you want to perform, like play/pause/seek/etc. That's on the todo list.

The other is that you need to detect the bt buttons. There's a limited set of buttons that get detected by android and passed along to apps. You'd dig into this api some to see if you can get what you need - http://developer.android.com/reference/android/content/Intent.html#ACTIO...

Sorry the spam bot got ya.

dsample
Offline
Last seen: 5 years 4 months ago
Joined: 02/23/2013 - 06:28
Any chance of customising the normal buttons within DC?

Thanks for getting the post through the spam bot :o)

Is there an issue/forum discussion to track to keep up-to-date about the intents?

eric
Offline
Last seen: 1 year 9 months ago
Joined: 11/06/2008 - 22:02
Here's the issue in the bug

Here's the issue in the bug tracker - http://mantis.snoggdoggler.com/view.php?id=590

dsample
Offline
Last seen: 5 years 4 months ago
Joined: 02/23/2013 - 06:28
More detailed intents?

Are the intents listed the only ones you're planning to add, or are you thinking of adding ones to get lists of podcasts & episodes, play a specific episode and get details of the currently playing episode & what would be previous/next.

At least this would help with integrating nicely.

eric
Offline
Last seen: 1 year 9 months ago
Joined: 11/06/2008 - 22:02
It would surely happen as

It would surely happen as separate steps. I've had the most requests for the play/pause/next type of intents so that would happen first. The query type would be useful, but to a smaller group of people, so it would happen a bit later.