public static boolean isDownloadManagerAvailable(Context context)
{
try
{
Log.d("Download", "Build.VERSION.SDK_INT is " + Build.VERSION.SDK_INT);
Log.d("Download", "Build.VERSION_CODES.GINGERBREAD is " + Build.VERSION_CODES.GINGERBREAD);
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD)
{
return false;
}
Log.d("download", "can download");
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);
Log.d("Download", "List size is " + list.size());
return list.size() > 0;
}
catch(Exception e)
{
return false;
}
}
{
try
{
Log.d("Download", "Build.VERSION.SDK_INT is " + Build.VERSION.SDK_INT);
Log.d("Download", "Build.VERSION_CODES.GINGERBREAD is " + Build.VERSION_CODES.GINGERBREAD);
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD)
{
return false;
}
Log.d("download", "can download");
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);
Log.d("Download", "List size is " + list.size());
return list.size() > 0;
}
catch(Exception e)
{
return false;
}
}
本文提供了一个检查Android设备上下载管理器是否可用的Java代码片段,通过判断SDK版本号并验证下载管理器服务是否存在来实现。该代码通过一系列日志记录和Intent操作来确定下载管理器组件是否可用。

430

被折叠的 条评论
为什么被折叠?



