百科问答小站 logo
百科问答小站 font logo



android 阿里云的推送服务被杀死后如何重启


user avatar   网友的相关建议: 
      Service组件在android开发中经常遇到,其经常作为后台服务,需要始终保持运行,负责处理一些必要(见不得人)的任务。而一些安全软件,如360等,会有结束进程的功能,如果不做Service的保持,就会被其杀掉。
在早些时候,我们可以通过在
1. service中重写onStartCommand方法,这个方法有三个返回值, START_STICKY是service被kill掉后自动

public int onStartCommand(Intent intent, int flags, int startId) {

return START_STICKY;

}

2. 配置android:persistent="true"

3. setForeground(true);

4. android:process=”com.xxx.xxxservice”配置到单独的进程中

以上的方法要么只是提升service优先级或者存活率, 并不能解决被安全软件强行杀死的问题.

要么像第四种单独的进程运行service在360老的版本是可以的,但是在360的比较新的版本中仍然会被杀死.

如何保持Service的运行状态是现在要说明的,核心就是利用ANDROID的系统广播,触发自己的程序检查Service的运行状态,如果被杀掉,就再起来。

常用的有开机广播,解锁屏幕的广播,电量变化等等, 其中解屏的广播算比较频繁的了,但是也并不能保证一定的频率,尤其是在特定的时间里(比如用户睡觉的时候,用户并不进行解锁操作).而我们仍要做一些操作的时候,就没有办法了.
因此,我采用了一种别的方案. 另外再加上两个类似一守护进程的Service, 分别检查Service的运行状态,注册响应的广播,对其进行守护,一旦发现没有运行就将其启动.

我利用的系统广播是Intent.ACTION_TIME_TICK,这个广播每分钟发送一次,我们可以每分钟检查一次Service的运行状态,如果已经被结束了,就重新启动Service。



相关阿里云话题

iOS 阿里云推送的消息透传需要开启通知权限吗
如何关闭阿里云系统阿里此刻的推送消息?
怎么才能往易语言程序里面推送信息?阿里云行吗?
阿里云通知推送可以推送图片吗?如果可以该如何配置?
急求一份用Android studio写的阿里云信息推送完整代码,能完成基本信息推送就可以
阿里云openapi推送为什么android收不到通知
极光推送和阿里云移动推送哪个推送更好
如何把写好的push代码放在阿里云上的移动推送上?
阿里云域名通知让我实名制,如果不实名制会不会上传身份证犯罪记录。
阿里云邮箱如何查看对方是否看过我的邮件?
阿里云邮箱正反向解析的步骤 求详细
阿里云邮箱怎么查看登陆记录?
阿里云邮箱登录名怎样查询到?
阿里云邮箱如何快速查看未读邮件
如何查询雅虎邮箱所绑定的阿里云邮箱地址
绑定手机不知道邮箱和密码怎样找回阿里云邮箱 怎么找管理员
阿里云邮箱收件箱看过的邮件被自动删除了
阿里云邮箱的地址是什么???
如何绑定阿里云邮箱
阿里云邮箱如何,好不好用??



前一个讨论
阿里云推送 安卓推送声音有哪些参数
下一个讨论
iOS 阿里云推送的消息透传需要开启通知权限吗





© 2024-04-25 - tinynew.org. All Rights Reserved.
© 2024-04-25 - tinynew.org. 保留所有权利