Android 7 Get Video From Another Folder

Android 7’de Farklı Bir Klasörden Video Alma

Android 7 ve sonraki sürümlerinde, uygulamaların harici depolama alanına erişimi kısıtlanmıştır. Bu, uygulamaların varsayılan olarak yalnızca kendi özel veri dizinlerine ve harici depolama alanının belirli bölümlerine erişebileceği anlamına gelir.

Uygulamanızın farklı bir klasörden video almasına izin vermek için aşağıdaki adımları izlemeniz gerekir:

1. Uygulama İzinlerini Güncelleyin

Uygulama beyannamesinde READ_EXTERNAL_STORAGE iznini talep edin:

xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

2. Depolama İzinlerini Çalışma Zamanında İsteyin

Uygulama çalışırken, harici depolama alanına erişmek için izin isteyin:

java
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_CODE_READ_EXTERNAL_STORAGE);
}

3. Video Dosyasının Yolunu Alın

Kullanıcıya video dosyasını seçmesi için bir ACTION_GET_CONTENT niyeti kullanın:

java
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("video/*");
startActivityForResult(intent, REQUEST_CODE_GET_VIDEO);

4. Video Dosyasını Okuma

Uygulama, onActivityResult() yönteminde video dosyasının yolunu alacaktır:

“`java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if (requestCode == REQUEST_CODE_GET_VIDEO && resultCode == RESULT_OK) {
    Uri videoUri = data.getData();
    // Video dosyasını okumak için videoUri kullanın
}

}
“`

İpuçları

  • Uygulamanızın yalnızca gerekli izinleri istemesi önemlidir.
  • Kullanıcıların video dosyalarını seçmelerine izin vermek için bir dosya seçici kullanın.
  • Video dosyalarını okumak için ContentResolver sınıfını kullanın.

Faydalı Kaynaklar


Yayımlandı