当前位置:首页 > 技术心得 > 正文内容

android Service : onStartCommand intent为null

xjtudll10年前 (2016-02-19)技术心得11220

参考资料:

http://hold-on.iteye.com/blog/2024926

问题:

service中加入onStartCommand之后,不定期crash。

分析:

经查看onStartCommand中代码,只有intent为空才可能报NullPointException 。

intent的参数是null,原因是这个intent参数是通过startService(Intent)方法所传递过来的,但是如果Service在你的进程退出后有可能被系统自动重启,这个时候intent就会是null.

为什么service会自动重启呢?

onStartCommand里return START_STICKY,系统内存不足杀掉service之后,若内存足够,则会自动重启service。

解决方法:

在使用intent前需要判断一下是否为空。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/388/

标签: Android
分享给朋友:

“android Service : onStartCommand intent为null” 的相关文章

Multisim运放输出超过电源电压解决

Multisim运放输出超过电源电压解决

在使用Multisim自带库里的运放的时候,例如LM324M,发现一个问题,运放的输出电压能达到几百V甚至几千V,而电源明显只有几V而已。输出电压超过电源电压,理论上是不可能的,实际上也是不可能的,那么肯定就是仿真有误了,其实根本原因是Multisim里面运放是三脚模型,根本没考虑电源。我们查看LM...

php gettext无效解决

php gettext无效解决

 代码:$lang = 'en_US'; //linux不支持zh-Hans,所以gettext、php都不支持。使用locale -a可以看到os支持的语言文字国家地区码。putenv('LANGUAGE='&nbs...

水晶报表的文本对象中怎么插入换行符

水晶报表的文本对象中如何插入换行符?我的文本对象要显示的值是从RichTextBox中读出来的,但文本对象不能显示“\n”,怎么让文本对象换行呢?------解决方案--------------------1:不要用文本对象,用公式2:把\n替换成水晶报表里的换行符号Replace(字段,'...

AutoCAD转Altium

以前写过一篇文章,讲述了AutoCAD如何转Protel99SE [AutoCAD转Protel99SE及丢线问题解决] 现在公司不允许用Protel99SE了(因版权问题),买了正版的Altium。因此,要将AutoCAD转Altium,其实是可以用上面的办法的,那个办法依旧有效。 还有一个...

php环境如何测试是否配置成功

<?php phpinfo(); ?> 编写一个PHP文件(注意:是PHP文件,不是txt文件),里面内容如上。 浏览器里访问这个文件。如果能看到配置信息,表明PHP环境配置成功。...

多字节除法--汇编实现原理

多字节除法--汇编实现原理

2.1 长除法 长除法适用于整式除法、小数除法、多项式除法(即因式分解)等较重视计算过程和商数的除法,过程中兼用了乘法和减法。 长除法与手工计算除法方法一致。 以8592÷24为例:      从计算过程可以看出,长除法有以下特点: 1、...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。