我有一个启动服务的活动.

在我的活动中:

startService(new Intent(this, MyService.class));

在我的服务中,onStart():

/* Show notification */

int icon = R.drawable.icon;

tickerText = getResources().getString(R.string.app_name);

long when = System.currentTimeMillis();

contentTitle = getResources().getString(R.string.app_name);

contentText = getResources().getString(R.string.running);

Intent notificationIntent = new Intent(this, activityClass).setAction(Intent.ACTION_MAIN).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

notification = new Notification(icon, tickerText, when);

notification.setLatestEventInfo(this, contentTitle, contentText, contentIntent);

notification.flags = Notification.FLAG_ONGOING_EVENT;

((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)).notify(0, notification);

startForeground(0, notification);

该服务有一个计时器,每隔3-4分钟就可以完成一些工作,并在可能的情况下向活动广播信息.当活动关闭时,服务应继续开展工作.

当我运行应用程序并返回主屏幕时,服务会继续运行.但过了一段时间我得到这些logcat消息,服务停止:

07-03 16:55:09.440: INFO/ActivityManager(583): Process com.myapp (pid 11665) has died.

07-03 16:55:09.440: WARN/ActivityManager(583): Scheduling restart of crashed service com.myapp/.MyService in 5000ms

我怎么能阻止这个?

解决方法:

When I run the app, and go back to the homescreen, the Service keeps running. But after a while I get these logcat messages, and the service stops… How can I prevent this?

一般来说,你没有.

服务并非旨在永远运行.太多开发人员已经启动了服务并且从未停止过它们.而且,在你的情况下,他们没有充分理由这样做.让内存中的服务暂停只是看着时钟滴答是浪费,特别是因为开发人员做了这样的事情,Android在他们坚持太久后“崩溃”了.

在您的情况下,请切换到使用AlarmManager,可能与IntentService一起使用,因此当没有更多的工作要做时,服务会自动关闭.

标签:crash,service,android

来源: https://codeday.me/bug/20190721/1495711.html

android 死亡自动启动,android – 服务在Activity的’死亡’崩溃相关推荐

  1. Android 开机自动启动服务

    在前面的文章中提到了remote service 的创建过程,现在我们要让它开机自动启动 1.在前面代码的基础上添加 RemoteServiceBootReceiver.java ,实现一个inten ...

  2. Android窗口管理服务WindowManagerService切换Activity窗口(App Transition)的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8596449 在Android系统中,同一时刻只 ...

  3. android app自动锁屏,Android开机自动启动app 不锁屏

    Android开机自动启动app 不锁屏 发布时间:2020-07-17 03:22:20 来源:51CTO 阅读:2086 作者:清水禅石 主要参考:http://life173.blog.51ct ...

  4. Android APP开机启动,安卓APP开发自启动,安卓启动后APP自动启动 Android让程序开机自动运行APP

    让APP在安卓系统启动自动运行可以带来以下几个好处: 用户方便:当用户打开设备时,自动启动所需的APP可以让用户更方便地使用设备,不必手动打开APP. 提高用户黏性:自动启动APP可以让用户更快地开始 ...

  5. Android定时自动启动应用程序

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 使用Al ...

  6. Android 隐式跳转(Activity的隐式跳转)

    学而时习之,温故而知新,放假前回顾下android 的 隐式跳转 Activity的显式跳转: 是直接指定需要调用的Activity Activity的隐式跳转: 不明确指定启动哪个Activity, ...

  7. activity 的属性android:taskAffinity和android:allowTaskReparenting

    1.清单文件中,activity 的属性 android:allowTaskReparenting 这个属性用于设定Activity能够从启动它的任务中转移到另一个与启动它的任务有亲缘关系的任务中,转 ...

  8. 【Android 逆向】Android 权限 ( 查看内存信息 | 查看 CPU 信息 | 查看电池信息 | 查看账户信息 | 查看 Activity 信息 | 查看 Package 信息 )

    文章目录 一.查看内存信息 二.查看 CPU 信息 三.查看电池信息 四.查看账户信息 五.查看 Activity 信息 六.查看 Package 信息 一.查看内存信息 查看系统内存详细信息 : 使 ...

  9. android组件通讯 Intent- 系统标准的Activity Action应用

    标准的Activity Actions ACTION_M AIN 作为一个主要的进入口,而并不期望去接受数据 ACTION_VIEW 向用户去显示数据 ACTION_ATTACH_DATA 别用于指定 ...

最新文章

  1. app图标圆角角度_?APP图标造型分析
  2. 各大网站屏蔽搜索引擎抓取分析
  3. BZOJ 2038: [2009国家集训队]小Z的袜子(hose)【莫队算法裸题学习笔记】
  4. iview中嵌套使用tabs注意事项
  5. 【BZOJ】2655: calc 动态规划+拉格朗日插值
  6. 【Python】Python库之文本处理
  7. Android的Dialog类设计的太糟糕了!
  8. 【JavaScript框架封装】使用Prototype给Array,String,Function对象的方法扩充
  9. 关注 Web Client Software Factory [Weekly Drop 08]
  10. 读《大道至简》第2章有感
  11. Java的BIO,NIO和AIO的区别于演进
  12. 常见手机定位方式浅谈
  13. ROS与PCL:在setconditionfunciton时,无法使用std::bind
  14. 记录:【DIY】一块SSD拯救了我的笔记本
  15. c语言 整数拆分,C++ 整数拆分方法详解
  16. Win10 微软拼音开启小鹤双拼的两种方法
  17. java list获取某个字段
  18. 【java】英语单词对战小游戏
  19. 写时复制(Copy On Write)
  20. OpenWrt路由器macvlan单线多拨的方法

热门文章

  1. InfoPath 函数
  2. 钳形表校准典型校准方法
  3. 单片机 P0口、P1口 寄存器和引脚的不同
  4. workflow engine Ruote 安装
  5. 论文解析:Matrix Capsule
  6. 用c++模拟ATM机
  7. spring赌上未来的一击:WebFlux性能实测
  8. python:提示This inspection highlights chained comparisons that can be simplified.
  9. 【Linux】多线程下载工具axel的安装和使用
  10. CListCtrl容纳的最多行数