Я пытаюсь встроить карты ЗДЕСЬ в приложение Xamarin.Мне предоставили библиотеку .aar, которую я связал как отдельный проект и на которую я ссылаюсь в своем проекте Android.
Согласно документации я должен встроить службу намерений в свойприложение, чтобы заставить карты работать.
Итак, я добавил
<service
android:name="com.here.android.mpa.service.MapService"
android:label="MAPSLABEL"
android:exported="false">
<intent-filter>
<action android:name="com.my.app.MapsAction">
</action>
</intent-filter>
</service>
к Properties/AndroidManifest.xml
.В своей активности на карте я добавил инициализацию настроек карты:
var path = GetExternalFilesDir(null) + File.Separator + ".map_cache";
var success = MapSettings.SetIsolatedDiskCacheRootPath(path, "com.my.app.MapsAction"); // returns true
Затем я вызываю инициализацию для фрагмента карты следующим образом:
var f = (SupportMapFragment)SupportFragmentManager.FindFragmentById(Resource.Id.map_fragment);
f.Init(this);
И в ответном вызове я получаю MISSING_SERVICE
ошибка:
com.nokia.maps.MapServiceClient$c: Map Service Not Found
at com.nokia.maps.MapServiceClient.a(MapServiceClient.java:72)
at com.nokia.maps.MapsEngine.a(MapsEngine.java:688)
at com.nokia.maps.MapsEngine.a(MapsEngine.java:393)
at com.here.android.mpa.common.MapEngine.init(MapEngine.java:198)
at com.nokia.maps.bw.a(MapFragmentImpl.java:150)
at com.here.android.mpa.mapping.SupportMapFragment.init(SupportMapFragment.java:112)
at md598e0954ab08e7442f21c9c8f5f40423e.MapActivity.n_onResume(Native Method)
at md598e0954ab08e7442f21c9c8f5f40423e.MapActivity.onResume(MapActivity.java:40)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1363)
at android.app.Activity.performResume(Activity.java:7440)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3780)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3845)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3065)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1724)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:7000)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
Кажется, я даже не могу найти службу в своем коде:
var intent = new Intent("com.my.app.MapsAction");
var result = PackageManager.ResolveService(intent, PackageInfoFlags.Services); // returns null
Я подумал, что в декларации службы, возможно, есть какая-то ошибка, или япропустить шаг или два при попытке объявить сторонний сервис в моем манифесте.Любой совет?
Спасибо.