Android 下载管理器 class 三星 S6 上的名称问题
Android Download Manager class name issue on Samsung S6
我的应用程序在单击按钮时从链接下载 pdf 文件。
我正在使用下载管理器,它在除三星 S6 之外的所有设备上都运行良好!
这是一个示例代码
private boolean isDownloadManagerAvailable() {
try {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClassName("com.android.providers.downloads.ui", "com.android.providers.downloads.ui.DownloadList");
List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;
} catch (Exception e) {
return false;
}
}
Samsung S6 调试显示 list.size() 实际上是 0(仅在 S6 上)。而且我找不到我正在使用的 类 的任何替代品,因为所有其他设备都可以正常工作。
不知道三星有没有把S6里的类改了?!
谢谢。
我想通了。
原来三星 S6 没有这些 类,因此返回 0。
返回 true 并忽略此检查就完成了工作。
我正在更新的应用程序是多年的旧代码。
我想再也不需要支票了。
我的应用程序在单击按钮时从链接下载 pdf 文件。 我正在使用下载管理器,它在除三星 S6 之外的所有设备上都运行良好!
这是一个示例代码
private boolean isDownloadManagerAvailable() {
try {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClassName("com.android.providers.downloads.ui", "com.android.providers.downloads.ui.DownloadList");
List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;
} catch (Exception e) {
return false;
}
}
Samsung S6 调试显示 list.size() 实际上是 0(仅在 S6 上)。而且我找不到我正在使用的 类 的任何替代品,因为所有其他设备都可以正常工作。 不知道三星有没有把S6里的类改了?!
谢谢。
我想通了。 原来三星 S6 没有这些 类,因此返回 0。 返回 true 并忽略此检查就完成了工作。 我正在更新的应用程序是多年的旧代码。 我想再也不需要支票了。