1. 程式人生 > 實用技巧 >Android10相機能夠到獲取經緯度,但是不能在相機中顯示

Android10相機能夠到獲取經緯度,但是不能在相機中顯示

Android10相機能夠到獲取經緯度,但是不能在相機中顯示

  • 最近在做專案時,發現了一個很有趣餓的問題,這個問題是區別於Android7的,為什麼說有趣呢?就是你不瞭解時,你會覺得有點不可思議;當你瞭解之後,你會突然一句“fuck,why
    to do?”

  • 親測針對於Android7中的相機設定有一個儲存地理位置的功能,實際上就是儲存你拍照時所在位置的經緯度,然後當你從相簿中點選圖片的更多詳細資訊之後,你可以輕鬆的檢視到經緯度,已經圖片的名稱和拍照時間等等;Android7上是沒有任何問題的。但是在Android10上,你會發現一個很尷尬的問題,那就是你從相簿中點選圖片的更多詳細資訊之後,你會發現圖片的名稱、拍照時間等等都能跟進行正常的顯示,而且非常精確。但是經緯度資訊就不翼而飛了,瑪尼,當時第一感覺,難道是沒有將經緯度資訊插入到媒體資料庫中?然後自己強行寫死各種經緯度,並且也能夠檢視到資料庫已經update一條資料了,可惜經緯度的資料就是為null?難道是資料庫的欄位寫錯啦,一個字母一個字母的比對,就差點上顯微鏡了,發現,並沒有錯等等。哎,那沒有辦法了,只能去檢視原始碼啦,這裡就不囉嗦了,你最終定位原始碼,你會發現下面:

在這裡插入圖片描述

  • 原來Android10呼叫相機時,如果你需要上傳經緯度資料時,你會發現原始碼裡面會先判斷經緯度是否包含經緯度,如果經緯度不為null,原始碼裡面會自動將經緯度設定為null,這就是android10的相機解析出經緯度來永遠時一個null,如果你不加修改的話。最好的解決辦法時將判斷裡面的給註釋掉就OK啦,希望能幫到你!