8

Uygulamamın harici depolama alanına (Lollipop ve Marshmallow üzerinde) yazma erişimi için Intent.ACTION_OPEN_DOCUMENT_TREE kullanıyorum.Test uygulamasında Depolama Erişimi Çerçevesi

Ancak, test uygulamasında harici depolamaya yazmak istiyorum. Intent.ACTION_OPEN_DOCUMENT_TREE, sistem iletişim kutusunu kullanır, bu nedenle sınama sırasında izin veremez. Ayrıca uygulamada buna izin vermeye çalıştım ve daha sonra testlerde kullandım ama paylaşılmadı - uygulama projesi ve test projesi farklı paketler.

Örneğin, örn. Test amaçlı tüm harici depolama için izin izni? Belki bazı sistem özelliklerini değiştirerek? Nerede olduğunu

adb shell setprop SOMEPROPERTY 1

cevap

1

Sen Burada

android.permission.WRITE_EXTERNAL_STORAGE 
android.permission.READ_EXTERNAL_STORAGE 

videoya link vardır harici depolama bu okuma/yazma için izinler

adb pm grant com.package.myapp android.permission.<PERMISSION> 
adb pm revoke com.package.myapp android.permission.<PERMISSION> 

İzinlerini verilmesi ve iptal etme komutları deneyebilirsiniz açıklandı: Runtime Permissions in Android 6.0 Marshmallow (Android Development Patterns Ep 3).

+0

Ne yazık ki bu ana harici depolama erişim için tek yerine geçer. Intent.ACTION_OPEN_DOCUMENT_TREE ikincil harici depoları kullanarak erişime ihtiyacım var ve bu işlevi test etmem gerekiyor. – Bhiefer

0

Burada bir çözüm olarak, adb kabuk giriş anahtarını kullanarak hibe izni onay kutusunu işaretleyebilirsiniz.

Kullanımı:

adb shell input [text|keyevent] 
    adb shell input text <string> 
    adb shell input keyevent <event_code> 

More Details you can find here.

+0

Test uygulamasında izin vermem gerekiyor. Ancak, bunu sağlayabilmek için TEST uygulamasında "Birlikte Aç" diyalog penceresini nasıl göstereceğimi bile bilmiyorum. Bu adb kabuk girişi ile ... veya el ile. Herhangi bir örnek var mı – Bhiefer

İlgili konular