以下代码包括从服务器下载文件并将其保存在存储中,当设备具有内部存储时可以正常工作.
但是当我使用没有内部存储的设备尝试它时,只有外部存储器,我得到以下异常.
java.io.filenotfoundexception打开失败的eacces(权限被拒绝)
public void downloadFile(String dlUrl, String dlName) {
int count;
HttpURLConnection con = null;
InputStream is = null;
FileOutputStream fos = null;
try {
URL url = new URL( dlUrl );
con = (HttpURLConnection) url.openConnection();
con.setDoInput(true);
con.connect();
is = url.openStream();
String dir = Environment.getExternalStorageDirectory() + Util.DL_DIRECTORY;
File file = new File( dir );
if( !file.exists() ){
file.mkdir();
}
Util.LOG_W(TAG, "Downloading: " + dlName + " ...");
fos = new FileOutputStream(file + "/" + dlName);
byte data[] = new …Run Code Online (Sandbox Code Playgroud) 我在 Play 商店中有一个应用程序,该应用程序targetSdkVersion已更新为30from 29,更新后该应用程序一次又一次被 Google Play 拒绝。
MANAGE_EXTERNAL_STORAGE此前, SDK Manifest 中有一项权限。
从我的应用程序中完全删除MANAGE_EXTERNAL_STORAGE 权限和存储权限 (WRITE_EXTERNAL_STORAGE ) 后,将应用程序上传到商店,应用程序更新再次被拒绝。
这是从 Google Play 收到的拒绝原因电子邮件。
注意:我将所有媒体文件保存在应用程序特定的内部存储中。
另外,我在我的 SDK 中获得了许可READ_EXTERNAL_STORAGE,因为我们的应用程序中有聊天功能,可以获取设备的图像和视频来发送。
根据许可没有影响。Use of All files access (MANAGE_EXTERNAL_STORAGE) permission READ_EXTERNAL_STORAGE
更新
我也删除了READ_EXTERNAL_STORAGE该应用程序的权限,但仍然遭到 Google Play 出于相同原因的拒绝。
是存储策略的问题还是其他问题?
mediastore google-play google-play-console scoped-storage android-11