我的某个应用用户在我的应用中报告了一个错误,其中public void actionPerformed(ActionEvent evt) {
input = Double.valueOf(Display.getText());
ans = Math.cos(Math.toRadians(input));
Display.setText(String.format("%.6f", ans));
}
返回null。
我已添加Context.getExternalFilesDir(null)
权限,如下所示。
WRITE_EXTERNAL_STORAGE
我使用了<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
,因为android documentation表示从Android 4.4(sdk 19)开始,android:maxSdkVersion="18"
写入WRITE_EXTERNAL_STORAGE
返回的目录不需要Context.getExternalFilesDir(null)
权限。
但是,如果我从权限中删除android:maxSdkVersion="18"
,则Context.getExternalFilesDir(null)
会返回非空值。
这种情况发生的设备是使用Android 4.4.2(SDK version 19)的Oppo Find 7。
有人可以解释为什么会这样吗?我该怎么做才能解决这个问题?删除android:maxSdkVersion="18"
可以解决问题,但根据文档,在以后的Android版本中不需要权限。