在android开发中使用downloadManager,部分手机崩溃

本文介绍了在使用Android DownloadManager进行文件下载时遇到的应用崩溃问题及其解决方案。主要原因是下载管理器被禁用,文中提供了一段代码来检测并引导用户启用下载管理器。

在最近android开发中使用downloadManager下载,总是有些手机会崩溃,因为这个问题弄了好几个小时,查各种资料,最后才找到问题,为了防止再出现这种错误而记下这个问题。

我遇到的问题主要是因为下载管理器被禁用了 , 所以要跳转到下载管理器那儿将其开启。


报错代码:long idPro = downloadManager.enqueue(downloadRequest);

报错原因:Unknown java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloads

int state = this.getPackageManager().getApplicationEnabledSetting(
"com.android.providers.downloads");


// 检测下载管理器是否被禁用
暂时
的解决办法:

if (state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED
|| state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER
|| state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED) {


String packageName = "com.android.providers.downloads";


try {
// Open the specific App Info page:
Intent intent = new Intent(
android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + packageName));
startActivity(intent);


} catch (ActivityNotFoundException e) {
// e.printStackTrace();


// Open the generic Apps page:
Intent intent = new Intent(
android.provider.Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
startActivity(intent);


}
else
{

//正常下载

}


我是在此链接下查询到的,为此打个标记http://stackoverflow.com/questions/21551538/how-to-enable-android-download-manager

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值