转自:
http://www.2cto.com/kf/201507/414802.html
Android L[Android5.X.X] 版本通过Intent隐式启动service时将会报出以下错误:
AndroidRuntime( 792): java.lang.IllegalArgumentException: Service Intent must be explicit
B .分析过程
上面源码中蓝色加粗部分:service.getComponent() == null && service.getPackage() == null
表明通过intent启动service时, 需要指定Intent的ComponentName信息:intent.setComponent(xxx),或指定Intent的setPackage(包名),如果两者都没有指定的话将会报以上错误。尤其在framework层启动APP层的service时,如果是隐式启动service,可能会导致系统进程挂掉,出现不断重启的现象。
三 解决方法
参考一
Intent intent = new Intent();
ComponentName componentName = new ComponentName(pkgName,serviceName);
intent.setComponent(componentName);
context.startService(intent);
参考二
Intent mIntent = new Intent();
mIntent.setAction(XXX.XXX.XXX);//Service能够匹配的Action
mIntent.setPackage(pkgName);//应用的包名
context.startService(mIntent);
四 延伸官网
Binding to a Service
The Context.bindService() method now requires an explicit Intent, and throws an exception if given an implicit intent. To ensure your app is secure, use an explicit intent when starting or binding your Service, and do not declare intent filters for the service.
也就是说,在5.0以后不允许使用隐式Intent方式来启动Service
分享到:
相关推荐
NULL 博文链接:https://xienan123.iteye.com/blog/1042124
NULL 博文链接:https://listen-raining.iteye.com/blog/2087518
java.lang.IllegalArgumentException Cannot format given Object as a Date
Caused by: java.lang.IllegalArgumentException: input == null! at javax.imageio.ImageIO.read(ImageIO.java:1388) at com.pleanwar.fiying.FlyingObject.loadImage(FlyingObject.java:52) at ...
NULL 博文链接:https://denghuijia1314521-gmail-com.iteye.com/blog/1341258
链接is unknown to this NavController
NULL 博文链接:https://wxb-j2ee.iteye.com/blog/1183736
对接微信接口中因为jdk8解密长度不够 报错 java.security.InvalidKeyException: Illegal key size 替换路径:(记得备份原有的文件) C:\Program Files\Java\jdk1.8.0_131\jre\lib\security
解决在Linux系统下,POI、easyExcel 报错 java.lang.IllegalArgumentException: The workbook already contains a sheet named。原因是缺少了字体文件,如果是Docker部署使用本资源即可。内部提供字体资源以及代码...
主要介绍了IDEA 中使用 ECJ 编译出现 java.lang.IllegalArgumentException问题 ,本文内容简短给大家介绍的好,需要的朋友可以参考下
两天因为项目需要整合spring、struts2、mybatis三大框架,但启动的时候总出现这个错误,困扰我好久,折腾了好久终于找到问题根源,下面小编给大家分享下问题所在及解决办法,一起看看吧
复制并覆盖%JAVA_HOME%/jre/lib/security下的local_policy.jar 和 US_export_policy.jar
Java demo源码 398.java.lang.IllegalArgumentException- 398.java.lang.IllegalArgumentException 复现bug demo 源码
SpringBoot 整合 MyBatis。解决因Mybatis-Spring版本过高引起的“Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required”异常
主要介绍了 Java java.lang.ExceptionInInitializerError 错误如何解决的相关资料,需要的朋友可以参考下
今天小编就为大家分享一篇关于Java上传文件错误java.lang.NoSuchMethodException的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200. Please increase heap size using the --driver-memory option or spark.driver.memory in Spark configuration.at.org....
在通过接口setComponentEnabledSetting,设置android组件可用或者不可用的时候,如果刚刚设置完成后,立即交流看关机,发现开机后本次设置并没有被保存。本文详细的分析了这个问题。
### Cause: java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName. at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:...
Java学习资料&项目源码&教程等资源