转:android DownloadManager: java.lang.SecurityException: Invalid value for visibility: 2
1、问题描述
今天使用Android系统的DownloadManager进行下载操作时,爆了如下所示的错误:
- java.lang.RuntimeException: Unable to start service com.xtc.fm.qingting.services.QingtingFmDownloadService2@1b97b060 with Intent { act=com.xtc.fm.qingting.FM_DOWNLOAD_SERVICE_START pkg=com.xtc.fm.qingting cmp=com.xtc.fm.qingting/.services.QingtingFmDownloadService2 (has extras) }: java.lang.SecurityException: Invalid value for visibility:
- at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:)
- at android.app.ActivityThread.access$(ActivityThread.java:)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:)
- at android.os.Handler.dispatchMessage(Handler.java:)
- at android.os.Looper.loop(Looper.java:)
- at android.app.ActivityThread.main(ActivityThread.java:)
- at java.lang.reflect.Method.invoke(Native Method)
- at java.lang.reflect.Method.invoke(Method.java:)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:)
- Caused by: java.lang.SecurityException: Invalid value for visibility:
- at android.os.Parcel.readException(Parcel.java:)
- at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:)
- at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:)
- at android.content.ContentProviderProxy.insert(ContentProviderNative.java:)
- at android.content.ContentResolver.insert(ContentResolver.java:)
- at android.app.DownloadManager.enqueue(DownloadManager.java:)
- at com.xtc.fm.qingting.services.QingtingFmDownloadService2.initDownManager(QingtingFmDownloadService2.java:)
- at com.xtc.fm.qingting.services.QingtingFmDownloadService2.onStartCommand(QingtingFmDownloadService2.java:)
- at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:)
- ... more
- java.lang.SecurityException: Invalid value for visibility:
- at android.os.Parcel.readException(Parcel.java:)
- at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:)
- at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:)
- at android.content.ContentProviderProxy.insert(ContentProviderNative.java:)
- at android.content.ContentResolver.insert(ContentResolver.java:)
- at android.app.DownloadManager.enqueue(DownloadManager.java:)
- at com.xtc.fm.qingting.services.QingtingFmDownloadService2.initDownManager(QingtingFmDownloadService2.java:)
- at com.xtc.fm.qingting.services.QingtingFmDownloadService2.onStartCommand(QingtingFmDownloadService2.java:)
- at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:)
- at android.app.ActivityThread.access$(ActivityThread.java:)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:)
- at android.os.Handler.dispatchMessage(Handler.java:)
- at android.os.Looper.loop(Looper.java:)
- at android.app.ActivityThread.main(ActivityThread.java:)
- at java.lang.reflect.Method.invoke(Native Method)
- at java.lang.reflect.Method.invoke(Method.java:)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:)
其中相关的部分代码如下:
- //设置下载地址
- DownloadManager.Request downRequest = new DownloadManager.Request(Uri.parse(downloadUrl));
- // 设置允许使用的网络类型 (| DownloadManager.Request.NETWORK_MOBILE)
- downRequest.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI);
- // 下载时,不显示通知栏
- downRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
- // 显示下载界面
- downRequest.setVisibleInDownloadsUi(true);
- // 保存的文件名
- String fileName = downloadInfo.getProgramTitle() + ".m4a";
- // 设置下载路径和文件名
- downRequest.setDestinationInExternalPublicDir(Environment.DIRECTORY_MUSIC, fileName);
- //设置文件类型
- MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
- String mimeString = mimeTypeMap.getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(downloadUrl));
- downRequest.setMimeType(mimeString);
- // 设置为可被媒体扫描器找到
- downRequest.allowScanningByMediaScanner();
- // 将下载请求放入队列
- final long downloadId = manager.enqueue(downRequest);
2、解决方法
原来其中的一段代码是需要相应的权限 android.permission.DOWNLOAD_WITHOUT_NOTIFICATION
- // 下载时,不显示通知栏
- downRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
因此在AndroidManifest.xml文件中加入上面所需要的权限即可。
- <!--DownloadManager下载时不显示Notification-->
- <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
- 本文转自:https://blog.csdn.net/ouyang_peng/article/details/52047149
转:android DownloadManager: java.lang.SecurityException: Invalid value for visibility: 2的更多相关文章
- 我的Android进阶之旅------>解决DownloadManager报错java.lang.SecurityException: Invalid value for visibility: 2
1.问题描述 今天使用Android系统的DownloadManager进行下载操作时,爆了如下所示的错误: java.lang.RuntimeException: Unable to start s ...
- 执行打的maven jar包时出现“Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes”
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for ...
- Intellij打包jar文件,“java.lang.SecurityException: Invalid signature file digest for Manifest main attrib
下面是使用Intellij 打包jar文件的步骤,之后会有运行jar文件时遇到的错误. 打包完成. ================================================== ...
- spark提交任务报错: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
spark提交任务报错: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes ...
- 解决java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
解决java.lang.SecurityException: Invalid signature file digest for Manifest main attributes 当项目依赖其他jar ...
- Ubuntu环境下java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
一.问题描述 Ubuntu环境中,将maven项目打包成jar包传到服务器中后运行以下指令: $ java -cp my.jar com.myproject.Main 遇到报错: java.lang. ...
- 封装jar问题java.lang.SecurityException: Invalid signature file digest for Manifest main attributes以及maven依赖重提解决
1.jar包封装完成后,其他项目引用jar,启动时报错java.lang.SecurityException: Invalid signature file digest for Manifest m ...
- idea的jar文件,“java.lang.SecurityException: Invalid signature file digest for Manifest main attribute
感谢大佬:https://blog.csdn.net/mingyuli/article/details/84674483 命令行运行jar出现问题: 1.找不到主类.打开jar文件包,在MANIFES ...
- 【Android】java.lang.SecurityException: getDeviceId: Neither user 10065 nor current process has android.permission.READ_PHONE_STATE
RT, 异常信息如下: java.lang.SecurityException: getDeviceId: Neither user 10065 nor current process has and ...
随机推荐
- RestFramework之认证组件
一.认证组件的介绍 对于认证,我们一般有三种方式,即cookie, session,token, cookie,是将信息存放在客户端(浏览器上),信息不安全: session,把信息放在服务器数据库中 ...
- Vue框架之组件与过滤器的使用
一.组件的使用 局部组件的使用 打油诗: 1.声子 2.挂子 3.用 var App = { tempalte:` <div class='app'></div>` }; ...
- CentOS 7的Linux系统优化加固
1.关闭selinux 2.关闭防火墙 3.关闭NetworkManager 4.为系统运维管理员创建普通用户,并配置sudo(vi sudo) 5.清空泄漏系统版本信息的文件 6.基础优化sshd ...
- 20.Vue中获取DOM元素和组件
1.获取DOM元素和组件:this.$refs
- Eclipse安装zookeeper监控插件
1.在 Eclipse 菜单打开Help -> Install New Software…2.添加 url http://www.massedynamic.org/eclipse/updates ...
- linux网络编程之socket编程(六)
经过一个国庆长假,又有一段时间没有写博文了,今天继续对linux网络编程进行学习,如今的北京又全面进入雾霾天气了,让我突然想到了一句名句:“真爱生活,珍惜生命”,好了,言归正传. 回顾一下我们之间实现 ...
- MySQL远程连接不上的解决方法
这篇文章主要为大家详细介绍了MySQL远程连接不上的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 之前遇到过MySQL本地可以连接但是远程连不上的问题,没有记录,今天在云上新申请的服 ...
- require sqlite3时报The specified module could not be found.错误
http://dependencywalker.com/ 在这个站点下载对应平台的Dependency Walker,打开你自己编译好的.node文件(sqlite3\lib\binding\node ...
- [CSS] The :empty Pseudo Selector Gotchas
The :empty pseudo selector selects empty elements. We can use this to display useful messages instea ...
- CSPS2019游(tuifei)记
%%%脸哥没脸%%% Day0,日常考前紧张,做不下题去.听各大主任送祝福(从里红(wa)到外) 然后就出发了,大巴上和云力一起坐,吃了好多东西.中午因不满火车站的不合理收费,选择了面包+火腿 下午在 ...