osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.38k stars 989 forks source link

[Feature Request] Android Auto connection or "OK Google" in OsmAnd #3391

Closed stefanodroghetti closed 2 years ago

stefanodroghetti commented 7 years ago

It would be very nice if Osmand could be used inside "Android Auto" application instead of Google Maps. Or, at least, that "ok google" could be used during Osmand navigation, to call someone via bluetooth or anything else.

ronnystandtke commented 7 years ago

All future Opel Ampera-e drivers will love you for that feature! :-)

vshcherb commented 7 years ago

Android auto is only compatible for messangers, navigation options are not available (only google maps)

ronnystandtke commented 7 years ago

Ouch. This sucks. Thanks for sharing the info. I will delete Android Auto compatibility from the must-have feature list for my next car. A good smartphone/tablet mount will be good enough to keep my freedom of choice of mapping applications, which means Osmand atm. Too bad...

Jesse-Pelton commented 6 years ago

This may be possible after all. There are reports that Android Auto 2.1 allows selection of the navigation app. Some supporting evidence: it would seem to be a prerequisite for the recent beta of Waze integration.

It wouldn't be surprising if there are roadblocks for other apps like OsmAnd, though.

stefanodroghetti commented 6 years ago

[NEARLY SOLVED] :-) Thanks to the new "Google" application, it's possible to allow "OK Google" on every screen and every app, OsmAnd included. Unfortunatly, not all smartphones have this feature. For my Meizu m3 note I had to do a lot of work to enable this feature:

:-o So many things to do... But now it works. From OsmAnd I can say "Ok Google" and - only with my voice - I launch a vocal search, from which I can call a friend just saying "Call John Doe". I guess on Nexus and other more Google compliant phones you just need to do the last task (enable "OK Google from all screens" in Google app voice OK Google settings.

ilyaguy commented 6 years ago

As I see, now it is possible to install Waze and use it instead of Google maps.

rbovard commented 6 years ago

And what about OsmAnd?

landswellsong commented 6 years ago

Read a lengthy thread on the subject. Short recap of the drama:

I wanted to contribute to OsmAnd and will be getting an AA-aware car soon. But I'm afraid this has to be brokered with Google afterwards so that they whitelist OsmAnd in their AA app so that the general populace can use it without hacking their phones.

@rbovard @vshcherb

rbovard commented 6 years ago

Thanks for your detailed input @landswellsong

So the big questions is: How can OsmAnd be in this whitelist? Do you know if there is some guidelines about it?

landswellsong commented 6 years ago

@rbovard I'm not a super expert on this topic unfortunately. I assume one has to apply, Google has this link and also this one in their AA documentation.

Hedaja commented 6 years ago

Any news on that topic? I quickly read through their guidelines and some might not be able to be reached without modifications. for example they don't allow progress bars Also OSMand doesn't really support voice input or am I wrong? Being able to use OSMand on the in-car system would be great though

thewafflehouse commented 6 years ago

I'm hoping for this to exist, I'm about to replace my head unit and get rid of my offline navigation and when I head offgrid using OSMAND would be fantastic in Android Auto.

landswellsong commented 6 years ago

@Hedaja I didn't start yet, car still is being prepared :( maybe next month.

greenbigfrog commented 6 years ago

To get it in the play store, according to the documentation @landswellsong linked, it's just another check mark in the console, whcih then prompts Google to review the app.

vshcherb commented 6 years ago

We still need to implement support for: 1) Voice recognition to allow person to interact hands free 2) Double check that app works according to guidelines.

LuisGC commented 6 years ago

Thanks for the update!

tbertels commented 6 years ago

Based on https://developer.android.com/training/auto/start/

Auto currently supports two types of apps: Audio apps that allow users to browse and play music and spoken audio content in the car. Messaging apps that receive incoming notifications, read messages aloud via text-to-speech, and send replies via voice input in the car.

and on https://play.google.com/store/apps/details?id=com.sygic.incar&showAllReviews=true&hl=fr

Sygic maps navigation 18 juin 2018 hello. We are sorry, but connectivity features of Sygic Car Navigation are not supported in your Car. We do not support Android auto because Google do not allow 3rd party developers to create apps for these platforms.

it doesn't seem likely that Google will approve Osmand as an Android Auto app. Which would explain why only Google Maps and Waze are compatible.

I wonder if it doesn't break the European Union competition law.

mjuen commented 5 years ago

What about MirrorLink?

This way it would be available in the meantime and in case Google ever opens up the AA SDK you would be able to use the existing interface (probably with a few tweaks).

vshcherb commented 5 years ago

MirrorLink is supported via Car Mode of Samsung

landswellsong commented 5 years ago

I've played with the android auto support jar, sounds like I could do this on a hobby basis slowly, but from what it seems to be now (disclaimer: not an Android coder per se), the activities displayed on the car need to have separate activity classes deriving from a different hierarchy than the current phone ones. I.e. for code reuse most of the stuff needs to be converted to fragments and then pulled into 2 separate activities. Is that a feasible thing that can be done?

Other thing is that the jar is supposedly coming from a dubious source, I guess there is some diplomacy to be made with Google for them to provide the official one (after meeting the criteria)

vshcherb commented 5 years ago

@landswellsong that's sounds like a big refactoring though if you could give a try to understand how big the scope is it and how big is the value, it definitely helps to plan that activity including understanding the limitation from Google itself

landswellsong commented 5 years ago

@vshcherb then does contacting Google about the political part (i.e. whether this will be approved at all eventually or Waze is a big special exception) sound like a good first step?

tbertels commented 5 years ago

or Waze is a big special exception

I'm not sure we can call Waze an exception since it belongs to Google.

landswellsong commented 5 years ago

I may have found an easier way that won't require refactoring, will report if I have any success with it. But the Google question still stands.

Also registered as a MirrorLink dev, seems much easier to do technically, but not many phones support it (great deal of politics involved) and not sure if the certification is mandatory.

landswellsong commented 4 years ago

Haven't done anything because of too much jobs, but to keep this alive

IMG_20190901_151047 IMG_20190831_222522

Via Android Auto + AA mirror + AA phenotype unlocker. Requires a rooted phone. Quite usable, but long press and zoom guesture don't work (probably AA mirror side).

XspeedPL commented 3 years ago

Since AA Stream app came out the process became easier. Still requires root, but it's way easier to set up. Sadly, the touch control still doesn't work (Android 8 device, KIA Sportage 2020 car here).

taylorkspencer commented 3 years ago

Looks like Google may finally be moving to allow third-party navigation on Android Auto: https://android-developers.googleblog.com/2020/08/android-for-cars.html

polarbearing commented 3 years ago

As my car manufacturer published their satnav updates enabling AA, I spent two nights setting things up. Eventually, I got AA Stream running, requiring the device rooted. Mind this hint that Google prevented the mirror usage in the most current versions. Touch control works in my car, though only for some of the OsmAnd buttons. At least I could pan and zoom the map, and enter a search.

pojir commented 3 years ago

Google has now released an open beta of a library for building navigation (and other) apps for Android Auto: https://android-developers.googleblog.com/2020/10/introducing-android-for-cars-app-library.html

hank commented 3 years ago

I recently started using the app and I like it. It's basically a necessity when degoogling. I have some background in Android development so I might take a look at this soon. There's also an issue in the microG project regarding AA library requirements to make it work on certain ROMs. I think tackling this issue first is probably the right approach. Thanks for the beta link! I'll check it out.

shmykelsa commented 3 years ago

Just some follow up for this:

The library is still in beta, but eventually the Jetpack version was released (just last week)

https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0-beta01

It's the first jetpack release of the previously closed source library.

In this moment, in order to actually have a 3rd party nav app on Android Auto an app must be rolled out on the Play Store in beta stage. There's a validation inside Android Auto that check the install vendor of the package, and if it's not the Google Play Store, an app will not be available.

There are mainly two methods to override this limitation:

adb shell pm install -i "com.android.vending" -r /path/to/the/file.apk

blackboxlogic commented 3 years ago

Seems @shmykelsa is referring to https://github.com/shmykelsa/AA-Tweaker which is licensed as GPL (compatible, I think, if parts wanted to be used in OsmAnd). That project's read-me mentions https://github.com/Eselter/AA-Phenotype-Patcher which (if I read it correctly) does the "patch apps to be seen in Android Auto" part.

shmykelsa commented 3 years ago

Seems @shmykelsa is referring to https://github.com/shmykelsa/AA-Tweaker which is licensed as GPL (compatible, I think, if parts wanted to be used in OsmAnd).

That's correct

That project's read-me mentions https://github.com/Eselter/AA-Phenotype-Patcher which (if I read it correctly) does the "patch apps to be seen in Android Auto" part.

That's correct as well, but the mentioned software uses methods that are no more applicable to the newer versions (and you just reminded me to update the readme :') )

shmykelsa commented 3 years ago

Good news: Apps for cars library is out of beta and updates with Android Auto compatibility can be released out of beta program. https://android-developers.googleblog.com/2021/04/start-your-engines-launch-new-android.html

mlitvinenko commented 3 years ago

Long story short for those who is far away from development world - absolutely no ETA for Osmand to be AA compatible?

shmykelsa commented 3 years ago

Long story short for those who is far away from development world - absolutely no ETA for Osmand to be AA compatible?

I've asked via e-mail. This is the response I got:

image

vshcherb commented 3 years ago

We have ETA set to have it done in 2021

mlitvinenko commented 3 years ago

We have ETA set to have it done in 2021

Many thanks! Appreciated.

landswellsong commented 3 years ago

We have ETA set to have it done in 2021

Any way we can help? Is this waiting to be picked up by a single dev or can be split to parts? Got the car to test on.

argrento commented 3 years ago

I have the AA-powered car as well, so can test and report bugs.

7596ff commented 3 years ago

Would love to test whenever possible

gorn commented 3 years ago

BTW there is a Czech nav mapy.cz which has been able to achieve this. I have some contacts in the company so if anyone from OsmAnd them has a specific question (about a thing possibly blocking the path) I might be able to get an answer. Feel free to contact me.

Pastim commented 2 years ago

I'd like to test it as well.

abw8353 commented 2 years ago

Gaia GPS currently supports Android Auto. It is great finally having topo maps (a choice of several) on my Android Auto in-dash screen, but Gaia's UI does not welcome casual users. I find myself now wanting OsmAnd even more.

kITerE commented 2 years ago

I'm ready to test too.

Pastim commented 2 years ago

All those guys who are sooo selfless and grateful to test: the problem is not to find testers. The problem is to find someone who implements it. So, how about contributing by conding?

I wish I could, but my serious coding years are well behind me. I don't even know any of the 'modern' languages like Python etc. IBM 360 assembler or early Fortran might be possible if I had a reference manual :-)

snaggen commented 2 years ago

All those guys who are sooo selfless and grateful to test: the problem is not to find testers. The problem is to find someone who implements it. So, how about contributing by conding?

As the one doing the initial Android Auto integration for Signal, finding testers that have the hardware required and who are willing to report bugs and actively participating in the dev process, is not necessarily easy. I was never able to test the Google assistant integration due to lack of testers (Google assistant was not available in my country at the time).

And a project needs other roles than coders, so it feels quite counter productive to discourage people from participating.

EugeneZmeuk commented 2 years ago

Today we want to start internal testing of Android Auto function for OsmAnd Free version. If you want to participate in this internal testing you need to send your Gmail account to my email ( eugene.kizevich@osmand.net ). In Subject of the email, you need to write "Android Auto Testers", please. After that, I will add you to the testers list.

EugeneZmeuk commented 2 years ago

We added an internal test version for OsmAnd Free version in Google Play.

bbigras commented 2 years ago

Is it possible to start the navigation using the car's unit? I can see and select a "favorite" destination, but I can't figure out how to start the navigation.

I can start it from my phone, though.