2016-04-01 1 views
2

Я пытаюсь приложение просто показать здесь карту на экране. Я выполнил все шаги в документе Here +, предоставленном app_id, app_code, лицензионным ключом + предоставил 6 разрешений в AndroidManifest.xml.У меня проблема MISSING_PERMISSION Здесь отображаются Android

Но он получил следующий вопрос:

"ERROR: Cannot initialize Map Fragment: MISSING_PERMISSION"

Я использую Gradle 2,8, targetSdkVersion 23, compileSdkVersion 23

ответ

2

Android 6/API 23 имеет новую систему разрешений, это означает, что вы должны запрашивать у пользователя критические разрешения. См. Android-документы: https://developer.android.com/training/permissions/requesting.html

Просто добавление критических разрешений манифеста уже недостаточно.

Если вы не хотите этого делать, вы можете установить уровень API-интерфейса трассировки до 22 и работать в унаследованном режиме, но для того, чтобы быть более надежным в будущем, вы должны реализовать новый способ обращения с разрешениями на Android6.

Критические разрешения в HERE SDK, которые вы должны запроса являются: ACCESS_FINE_LOCATION и WRITE_EXTERNAL_STORAGE

+0

Спасибо за вашу помощь. Я решил проблему. Я изменил целевой уровень API до 22. Я обнаружил свою проблему: я предоставил 6 разрешений в AndroidManifest.xml, но я помещал их в неправильную позицию в манифесте. Я должен поместить их из тега приложения, а не в тег приложения –

+0

Зачем вам нужно ACCESS_FINE_LOCATION, чтобы показать карту? Разве это разрешение не только для запроса местоположения пользователя? – NazarK

+0

Разрешение на размещение действительно необходимо только при использовании PositionManager, хорошего улова. но для данных карты необходим доступ к внешнему хранилищу. Поэтому вам все равно придется обрабатывать новые разрешения на android6 правильно – Marco