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

android Service : onStartCommand intent为null

xjtudll11年前 (2016-02-19)技术心得13590

参考资料:

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://www.xjtudll.cn/Exp/388/

标签: Android
分享给朋友:

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

固定电容标称容量及误差

电容器上标有的电容数是电容器的标称容量。电容器的标称容量和它的实际容量会有误差。常用固定电容允许误差的等级见表1。 表1 固定电容允许误差等级 误差 ±2%...

sqlserver数据库触发器调用外部exe

sqlserver数据库触发器调用外部exe

https://www.cnblogs.com/syp1Blog/p/9482088.html sqlserver数据库触发器调用外部exe,同事可以选择参入参数! sqlserver使用 master..xp_cmdshell 进行外部exe的执行。 使用master..xp_cmdshell 之...

C# MDI子窗体启动后没有最大化

C# MDI子窗体启动后没有最大化

目的: 子窗口启动显示后最大化,也就是填充了整个父窗体 但是发现一个问题: 如果在 Visual Studio 2005里通过属性工具栏设定了子窗体的 WindowState 为 Maximized,然后在运行过程中会发现子窗体实例化时不会最大化,而是当改变了父窗体的大小之后才随即最大化。而通过在子...

dell服务器阵列中硬盘的状态变成外来(foreign)的解决方法

Dell服务器硬盘的状态变成外来(foreign),然后机房就重新导入一下就可以了: dell服务器移除RAID5中1块硬盘后再插上去,硬盘的状态变成外来(foreign),如何恢复成就绪的状态? 重启服务器,注意引导信息提示 RAID控制器 相关信息时,会发现这样提示: Fo...

Protel99SE添加泪滴焊盘

Protel99SE添加泪滴焊盘

在电路板设计中,为了让焊盘更加坚固,防止机械制板时焊盘与导线之间断开,常在焊盘和导线之间用铜膜布置一个过渡区,形状像泪滴,故常称做补泪滴(Teardrops)。 泪滴的放置可以执行主菜单命令 Tools->Teardrops,将弹出如图所示的 Teardrop ptions (泪滴)设置对话...

IAR显示行号

IAR显示行号

个人比较习惯用外部编辑器来编辑程序,但是调试工具还是得用IAR,有时候要找到某一行程序,就必须知道行号。 Tools-> Option -> Editor -> Show line numbers(勾选)...

发表评论

访客

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