测试应用中的存储访问框架

时间:2015-09-18 05:54:05

标签: android testing android-external-storage storage-access-framework

我使用Intent.ACTION_OPEN_DOCUMENT_TREE授予我的应用程序对外部存储的写入权限(在Lollipop和Marshmallow上)。

但我想在测试应用程序中写入外部存储器。 Intent.ACTION_OPEN_DOCUMENT_TREE使用系统对话框,因此我无法在测试期间授予权限。我也尝试在应用程序中允许它,然后在测试中使用它但不共享 - 应用程序项目和测试项目是不同的包。

是否有人知道某些可能的解决方法,例如为测试目的授予整个外部存储的权限?也许通过改变一些系统属性?

adb shell setprop SOMEPROPERTY 1

2 个答案:

答案 0 :(得分:1)

您可以尝试使用此命令来授予和撤消权限

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

读/写外部存储的权限是

android.permission.WRITE_EXTERNAL_STORAGE
android.permission.READ_EXTERNAL_STORAGE

以下是视频的链接:Runtime Permissions in Android 6.0 Marshmallow (Android Development Patterns Ep 3)

答案 1 :(得分:0)

此处作为解决方法,您可以使用 adb shell input keyevent 来检查授予权限复选框。

用法:

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

More Details you can find here.