I am learning ArcGIS runtime SDK for Android Devlabs' Tutorial. While completing the tutorial entitled "Display a Map While Offline", I did the same as tutorial says i.e. I created "devlabs-package.mmpk" file using arcgis pro and I saved this .mmpk file on my android phone's SD card. Though, When I start the project using Android Studio my mobile shows only online basemap (street basemap) not the map that I created for .mmpk file. I used the code as written in the devlabs tutorial. the snapshot of the code is attached herewith-
Kindly do help me. I am new and know little about the coding.
Respected Alexander Nohe
I added the following two types of permission in the app > manifests > AndroidManifest.xml-
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
I used the same "devlabs-package.mmpk file that I created in ArcGIS Pro using the data as described in the dev labs tutorials.
Need your help If I have missed something.
So if you are targeting any runtime later than API level 22 for Android, you need to request permissions at runtime for what is considered a "dangerous" permission.
This stack overflow post should help you request a permission at runtime:
Respected Alexander Nohe,
I did what you suggested but I could not open mmpk file offline on my android phone. Would you please guide me in this regard. I saved my .mmpk file on my sdcard in the "myfolder/samples/MapPackage/devlabs-package.mmpk". According to you what shold be the file path code. Kindly help me.
Environment.getExternalStorageDirectory() is one trick that comes to mind. These documents may help you:
I would also encourage you to implement a file picker so the SD file card path does not have to be exact. One file picker that comes to mind is this one:
There are many more open source file pickers out there which may be better suited for your needs.
Use that library at your own risk. Esri has not evaluated nor tested this file picker and cannot guarantee the safety or security of this library.