我正在使用 Android 下载管理器来下载文件列表。最近我看到一个崩溃报告说
Unknown java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloads
后来,我发现原因是因为用户禁用了 Android 下载管理器。我通过使用下面的代码检查它的包名称来检查下载管理器是否被禁用。
int state = this.getPackageManager().getApplicationEnabledSetting("com.android.providers.downloads");
现在,如果下载管理器被禁用,我需要找到一种方法来启用它。我尝试使用清单中的权限设置它的启用状态,但我不断收到安全异常。
this.getPackageManager().setApplicationEnabledSetting("com.android.providers.downloads", PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
所以我认为它可能无法访问,因为它是一个系统应用程序。(谷歌播放应用程序做到了)。
有没有办法将用户重定向到下载管理器应用程序信息视图?让用户启用它?如果无法以编程方式在运行时启用它。