Android auto - Как открыть карты Google с координатами в приложении Car?

*** Решено благодаря ответу Бена****.
Мне нужно изменить «НАВИГАЦИЯ» на «POI» в манифесте.

Оригинальный вопрос:

Я работаю над «обновлением» майского приложения для Android, чтобы включить сервис «Android auto» для карт. Я тестировал в DHU и на реальном устройстве (автомобиле), и все работает нормально, но когда я хочу запустить «карты Google» или другое «приложение карт», этот код должен открыть его, но он не работает. Ошибки нет, но "приложение карт" не запускается.

Это код, который я использую в «элементе onclick», на основе документов https://developer.android.com/training/cars/apps#user-interaction

     var myCoordinates = latitude + "," + longitude
val intent = Intent(CarContext.ACTION_NAVIGATE,  Uri.parse("geo:" + myCoordinates))
  carContext.startCarApp(intent)

)

Это мой "манифест" (андроид автозапчасти)

// android auto

        <meta-data
                android:name = "com.google.android.gms.car.application"
                android:resource = "@xml/automotive_app_desc"/>
        <meta-data
                android:name = "androidx.car.app.minCarApiLevel"
                android:value = "1"/>

        <service
                android:name = ".programameudisservice"
                android:exported = "true">
            <intent-filter>
                <action android:name = "androidx.car.app.CarAppService" />
                <category android:name = "androidx.car.app.category.NAVIGATION"/>

**** решение *****

            </intent-filter>

        </service>
        // android auto

Любой специальный элемент, который является обязательным в «манифесте», чтобы правильно его открыть?

заранее спасибо

Можете ли вы также указать, с какими ошибками вы столкнулись в своем коде?

Yrll 28.09.2022 01:25

В том то и проблема, никакой ошибки не показывает, просто не открывается. Если я поставлю «неверный» uri, он покажет ошибку и сломает его, но с предыдущим он просто не открывается. Спасибо за ответ 😉

oscarabilleira 28.09.2022 02:59
1
2
239
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Наиболее в последнее время используемое навигационное приложение — это то, которое используется для обработки намерения CarContext.ACTION_NAVIGATE. Я сам не пробовал, но подозреваю, что если ваше приложение классифицируется как навигационное, оно получает намерение.

Спасибо за ответ. Мое приложение объявлено как «НАВИГАЦИЯ» в манифесте (точный код, который вы связали), намерение кажется «вызываемым», потому что «функция» onNewIntent (намерение: намерение) печатает журнал, если я его объявляю, но сопоставляет приложение (Google карты) не открывается.....

oscarabilleira 28.09.2022 15:48

Похоже, тогда все работает так, как задумано. Ожидается, что навигационное приложение само будет обрабатывать навигационные намерения, а не передавать их другому приложению. Если ваше приложение не включает в себя функции навигации (например, пошаговые инструкции, карту, которую вы нарисовали сами и т. д.), вместо этого вам следует отнести его к категории приложения с достопримечательностями.

Ben Sagmoe 28.09.2022 16:38

Ты спас мне жизнь!!! большое спасибо... через POI. <category android:name = "androidx.car.app.category.POI"/>. Вместо навигации работает отлично. Еще раз спасибо

oscarabilleira 28.09.2022 16:45

Приложение отлично работает с POI, но было отклонено Google Play, потому что категория приложения не разрешена ... это не имеет для меня смысла.

oscarabilleira 29.09.2022 02:29

Наконец-то использование категории ПАРКОВКА было принято в Google Play.

oscarabilleira 29.09.2022 23:51

Другие вопросы по теме