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
}
我试图获取图像的 gps 位置,但我得到的只是 0/1 0/1 0/1。没有 gps 位置的图像返回空值。 从这里结帐 logcat 行
从以下获得用户权限
<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" />