更新到 SDK 34 后,我的应用程序遇到了问题。
我注意到用户在此更新后无法从应用程序下载视频。
视频下载过程似乎出现问题,操作挂起并且没有下载任何内容。
View download = view.findViewById(R.id.download);
if (getResources().getBoolean(R.bool.downloads_enabled)) {
download.setOnClickListener(v -> {
if (EasyPermissions.hasPermissions(requireContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
submitForDownload();
} else {
EasyPermissions.requestPermissions(
this,
getString(R.string.permission_rationale_download),
SharedConstants.REQUEST_CODE_PERMISSIONS_DOWNLOAD,
Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
});
download.setVisibility(View.VISIBLE);
} else {
download.setVisibility(View.GONE);
}
a)没有崩溃的堆栈跟踪(但是,我可以想象它可能会抱怨什么)和b)API 34中不存在
Manifest.permission.WRITE_EXTERNAL_STORAGE
......你必须使用现代API,类似 SAF。
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="29"/>
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32"/>