2016-08-14 85 views
0

我需要使用downloadRequest.setNotificationVisibility(Down loadManager.Request.VISIBILITY_HIDDEN);在我的应用程序是最小的API 10,但方法是API> = 11。在较低的API中使用request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN)

这将是一个简单的评论在DownloadManager.Request.setNotificationVisibility fails with jSecurityException: invalid value for visibility: 2问题,但我还没有赚取更多的声誉评论其他职位。

请指导我如何在我的情况下使用该方法。

回答

0

您不能使用该方法。它在Android SDK中的API Level 11之前不存在,也没有其相关权限。

您可以使用OkHttp3,HttpURLConnection等自己下载文件。然后,您可以更好地控制显示的通知(如果有)。

或者,您也可以有条件地调用该方法在支持的设备:

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) { 
    downloadRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN); 
} 
+0

好吧,我只是以为会有像android.support.v4 .... – Mwas

+0

@Mwas:谷歌并没有创造'DownloadManagerCompat'类。我不确定为什么。即使他们有,'setNotificationVisibility()'不适用于API级别10 - 谷歌的图书馆不能改变这一点。所有图书馆的'setNotificationVisibility()'版本都会在我的答案中的代码片段中执行:在新设备上有条件地转发请求,并在较旧的设备上忽略它。 – CommonsWare

相关问题