Android Jelly Bean cihazıma fotoğrafları asıl tarih bilgilerini koruyarak nasıl taşıyabilirim?
<p>
Geçenlerde Nexus 4 aldım ve önceki cihazımdaki fotoğrafları yeni telefonuma aktarmak istiyorum. Önceki Android telefonum standart USB yığın bellek kullanıyordu ve bir şeyleri kopyalarken ve taşırken hiç sorun çıkarmıyordu, fakat sanıyorum ki birçok yeni Android telefon gibi Nexus 4 de yığın bellek yerine dosyaların asıl tarih bilgilerini kopyalamayı reddedip, onun yerine kopyalandığı zamanın tarihini kullanmak gibi ilginç bir özelliğe sahip olan MTP modunu kullanıyor.</p>
<p>
Elbette ki bu durum da iş fotoğrafları kopyalamaya gelince, sadece telefondan bakarken fotoğrafın çekildiği zamanı göreme sorunu dışında ayrıca fotoğrafları tamamen sıralanmamış halde bıraktığı için can sıkıcı olmakta.</p>
<p>
USB yığın bellek desteği olmayan Android Jelly Bean telefonlara fotoğrafları asıl tarih bilgilerini koruyarak taşımanın bir yolu var mı?</p>
<p>
Şimdiye kadar denediklerim:</p>
<ul>
<li>
USB MTP ile aktarmak</li>
<li>
ADB ile (hem tam klasörleri hem de tek tek fotoğrafların kendilerini)</li>
<li>
SSH ile aktarmak (SSHDroid ve WinSCP kullanarak)</li>
<li>
Dropbox'a yükleyip, sonra da indirmek</li>
<li>
Dosyaları ZIP formatında sıkıştırıp MTP ile aktardıktan sonra ZIP dosyasını telefona çıkartmak</li>
<li>
Diğer telefondan bluetooth ile aktarmak</li>
<li>
<a href="https://play.google.com/store/apps/details?id=com.alensw.PicFolder" rel="nofollow">QuickPic</a> tarih düzeltme işlevi</li>
<li>
<a href="https://play.google.com/store/apps/details?id=cz.psencik.simple&hl=en" rel="nofollow">Local Sync</a></li>
<li>
<a href="https://play.google.com/store/apps/details?id=com.metaworldsolutions.android.exif.timestamp" rel="nofollow">Photo Date Correction</a></li>
<li>
<a href="https://play.google.com/store/apps/details?id=com.syncoorp.FTPSyncX_Trial" rel="nofollow">FTPSyncX</a></li>
<li>
Dumanla haberleşme</li>
<li>
Telefona bağımak</li>
</ul>
<p>
Bunlardan hiçbiri tarih bilgilerini korumadı ve artık deliriyorum.</p>
<p>
(Telefonu henüz root'lamadım, fakat işe yarayacak tek yol root erişimi gerektiriyorsa bunu da cevap memnuniyetle çözüm olarak kabul edebilirim.)</p>
09.09.2014 tarihinde
Gönülgül
sordu
Bu soruya toplam 1 cevap verilmiştir
<p>Yapamazsınız. Bu Android 4.0 ve üstü sürümlerde ve SD kartlarda eğer ki FAT32 kullanılmıyorsa (ama FUSE olabilir) sürekli karşılaşılan izinle ilgili bir problem (<a href="https://code.google.com/p/android/issues/detail?id=25460">bugreport here</a>).<br />
<br />
Nedeni: Tek bir dosya sistemi üzerinde hem uygulamaları hem de medya verilerini(ext4 kullanıyor) birleştirip FAT32’den bu sisteme bir geçiş var.</p>
<blockquote>
<p>Kullanıcılar hala uygulama ve veriler için yer sıkıntısı çekiyorken Orijinal Ürün Üreticilerinin müzik için bolca alan ayırdıklarını görmekten bıktık. Bu yaklaşım bizi tek bir şey üzerinde birleştiren, daha iyi bir yol olan her şeye yönlenmeye itiyor.<br />
--Dan Morrill, Google’da mühendis<br />
</p>
</blockquote>
<p>Eski FAT32 ürünleri varolan uygulamalarla uyum sağlayabilsin diye bir FUSE layer kullanılarak daha iyi hale getirilmeye çalışılıyor. Ayrıca; / veri/ ve/ sd kart Google cihazlarında Nexus 7’den başlanılarak tek bir kısmı kullanmaya başladı( /veri / medya, “sd kart” içeriğini temsil ediyor ve FUSE layer’ını uygulamada kullanmaya maruz bırakılıyor).<br />
<br />
Eğer ki kaynağı görmek istiyorsanız <a href="https://github.com/CyanogenMod/android_system_core/blob/cm-10.1/sdcard/sdcard.c#L571">şurada</a> CyanogenMod’un FUSE sürücüsünü nasıl yürüttüğü gösteriliyor. Öyle görünüyor ki, zaman timestamp ayarları yine de benzetilmiş.<br />
Not: sadece rotla çalışıyor.<br />
<br />
Tam neden: Bütün dosyalar root.sdcard_rw(<a href="https://github.com/CyanogenMod/android_system_core/blob/cm-10.1/sdcard/sdcard.c#L297">buradan bakabilirsiniz</a>) tarafından sahipleniliyor. Uid=0’ı olmayan bir arayıcı <a href="http://man7.org/linux/man-pages/man2/utimensat.2.html">utimensat() syscall’u</a> arayamaz, çünkü VFS layer aşağıdakilerden daha ziyade timestamp içindir:<br />
<br />
1. Arayıcının etkin kullanıcı kimliği dosyanın sahibiyle eşleşmeli ya da<br />
2. Arayıcı bazı uygun, özel ayrıcalıklara sahip olmalı<br />
<br />
Timestamp’i normal zamana ayarlamada herhangi bir değişiklik yapmak için(örneğin; zaman NULL değil ve de 2 tv_nsec alanları da UTIME_NOW değil ve 2 tv_nsec alanı da UTIME_OMIT değilse) 2 durumda da yukarıdaki 2 ya da 3 uygulanmalı.<br />
</p>
06.10.2014 tarihinde
165 kez görüntülendi
son hareket 30.12.2014 tarihinde
son hareket 30.12.2014 tarihinde