MapService отсутствует в файле AndroidManifest.xml - PullRequest
1 голос
/ 18 октября 2019

Я хочу использовать HereMap SDK в моем приложении для Android. Я следовал официальному руководству https://developer.here.com/documentation/android-premium/dev_guide/topics/app-create-simple.html.

Когда я запускаю приложение, я получаю сообщение об ошибке:

В файле AndroidManifest.xml отсутствует MapService. Пожалуйста, обратитесь к руководству пользователя за подробной информацией о правильной настройке проекта.

В адресе сообщения отсутствует MapService, но я уже добавил MapService в AndroidManifest.xml. Это мой AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="my.Package.Name">
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <!--
         The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
         Google Maps Android API v2, but you must specify either coarse or fine
         location permissions for the 'MyLocation' functionality. 
    -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
        android:hardwareAccelerated="true"
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:roundIcon="@drawable/app_icon"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <!--other activity declerations-->

        <meta-data android:name="com.here.android.maps.appid" android:value="@string/here_map_app_id"/>
        <meta-data android:name="com.here.android.maps.apptoken" android:value="@string/here_map_app_code"/>
        <meta-data android:name="com.here.android.maps.license.key" android:value="@string/here_map_license"/>
        <service
            android:name="com.here.android.mpa.service.MapService"
            android:label="HereMapService"
            android:process="global.Here.Map.Service.v3"
            android:exported="true" >
            <intent-filter>
                <action android:name="@string/here_map_intent_name" >
                </action>
            </intent-filter>
        </service>
    </application>

</manifest>

Можете ли вы помочь мне в этой ситуации? Спасибо всем!

1 Ответ

1 голос
/ 05 ноября 2019

Я использую HereMap SDK версии 3.13.3, я изменил объявление службы HereMap в качестве следующего: теперь он работает великолепно. Обратите внимание, что я использую строку com.heremapproject.myapp вместо @string/here_map_intent_name внутри <intent-filter>

<service
    android:name="com.here.android.mpa.service.MapService"
    android:label="HereMapService"
    android:exported="false" >
    <intent-filter>
        <action android:name="com.heremapproject.myapp" ></action>
    </intent-filter>
</service>
...