[![包含文件的文件夹(开始)][1]][1]
在第二张图片中...
我想这是许可证的问题,...或类似的问题。 但我不知道如何打开不是由我的应用程序创建的文件。
我在 AndroidManifest.xml 中管理许可并使用:
if (ActivityCompat.checkSelfPermission(this
, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE
, Manifest.permission.READ_EXTERNAL_STORAGE},
k_id_requestpermissions_external_storage);
}
你能帮我吗?非常感谢...
终于找到问题和解决方案了...
不幸的是,Google Play Console 会出现大量拒绝,以允许您的应用获得该权限...(问题->解决方案->新问题...)
我需要额外的许可证:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
intent_activityResultLauncher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult()
, new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
ResourceBundle in;
try {
in = ResourceBundles.getBundle(k_in_ruta);
if (result.getResultCode() != RESULT_CANCELED) {
put_alert("No permit! ");
}
} catch (Exception e) {
try {
put_alert(e);
} catch (Exception e_ignorar) {}
}
}
});
if (android.os.Build.VERSION.SDK_INT >= 30) {
if (Environment.isExternalStorageManager() == false) {
Intent intent = new Intent();
intent.setAction (Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
Uri uri = Uri.fromParts("package", this.getPackageName(), null);
intent.setData(uri);
intent_activityResultLauncher.launch(intent);
}
}
我也为此苦苦挣扎。 为了让它工作,我所做的就是在“设置”、“权限管理器”、“文件和媒体”、“查看更多可以访问文件的应用程序”中打开我的应用程序的权限。然后我从应用程序列表中启用了我的应用程序。我仍然不知道安装程序时是否可以自动执行此操作。 我对此很陌生。
令人难以置信的是找到这个有多么困难......