2
fun ExifInterface.getTags(): HashMap<String, String> {
        val mAttributes = mAttributes()

        var map = HashMap<String, String>()
        if (mAttributes is Array<*>) {
            val arrayOfMapAux = mAttributes as Array<HashMap<String, *>>
            arrayOfMapAux.indices
                .flatMap { mAttributes[it].entries }
                .forEach { map[it.key] = this.getAttribute(it.key)!! }
        } else if (mAttributes is HashMap<*, *>) {
            map = mAttributes as HashMap<String, String>
        }

        val latLonArray = FloatArray(2)
        if (this.getLatLong(latLonArray)) {
            val lat = latLonArray[0].toString()
            val lng = latLonArray[1].toString()
            Log.d("imgGpsTracker", "lat = $lat & lng = $lng")
        }
        Log.d("imgGpsTracker", "lat = ${latLonArray[0].toString()} & lng = ${latLonArray[1].toString()}")
        return map
    }

Im trying to get the gps location of the images, but all i got is 0/1 0/1 0/1. Images which doesn't have gps location returns null value. checkout logcat lines from here

Got user permissions from following

<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
roma972012
  • 21
  • 3

0 Answers0