我是android開發的新手,我應該使用Java作為編程語言。我有一個應用程式,我應該能夠在其中捕獲影像和捕獲影像的地理位置并顯示這些詳細資訊。我在 imageView 中顯示影像。我有一個文本檔案,我在其中存盤影像鏈接以及捕獲的影像。所以,我基本上有影像鏈接和捕獲的影像,它們存盤在一個陣列串列中,然后存盤到一個文本檔案中。請隨時詢問我在問題中可能遺漏的任何內容。
我嘗試使用在 Stack Overflow 回應中找到的 EXIFInterface 方法,我嘗試使用位置提供程式但無濟于事。也許我放置代碼的位置不正確,正如我所說,我是新手。我嘗試觀看 YT 視頻并在線進行了一些研究,此時我比以往任何時候都更加困惑。我嘗試使用的另一種方法是將設備的當前位置捕獲到不可見的 textView 中,然后將其呼叫到存盤影像名稱的位置,但這也不起作用。
我試過的EXIF方法:`
try {
ExifInterface exifInterface = new ExifInterface(direct); //Direct is the filepath
Log.d("Latitude", exifInterface.getAttribute(ExifInterface.TAG_GPS_LATITUDE));
Log.d("Longitude", exifInterface.getAttribute(ExifInterface.TAG_GPS_LONGITUDE));
} catch (IOException e) {
e.printStackTrace();
}
`
位置提供者方法
@SuppressLint("MissingPermission")
private void showLocation() {
locationProvider.getLastLocation().addOnSuccessListener(this,
new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
if (location != null) {
hiddenLoc.setText("Current location is: Lat:" location.getLatitude()
"Lon: " location.getLongitude());
}
}
});
}
`
uj5u.com熱心網友回復:
EXIF 位置是一個可選介面——大多數影像都沒有。事實上,許多(大多數?)相機應用程式已經默認停止使用它來保護用戶隱私。你可以嘗試一下,但不要指望它會在那里。
您的位置代碼 - lastLocation 將回傳 null ,除非位置已經啟動并正在運行(通常是因為另一個應用程式正在使用它)。您需要請求位置更新,而不是依賴 lastLocation。請注意,這會獲取手機的位置,而不是拍照時的位置。所以這只有在你拍照時運行它才有效(exif 資料獲取照片拍攝的位置,如果它在那里的話)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/523546.html
標籤:爪哇安卓图片地点
