我想知道在没有重复警报管理器的情况下,通过服务重复操作的最佳方法是什么。
我启动了一个带有警报管理器的服务(“不重复”警报管理器)因为我需要这个服务不会被android中断。
此服务在活动时接收一些参数,并应通过重复某些操作来详细说明。如果我使用重复警报管理器,服务将无法正确读取它们。
我尝试使用“计时器”类,但过了一段时间Android停止了它,服务没有做任何事情。
有没有一种方法可以在没有Android停止一切的情况下使用计时器来维持服务的活动状态?
非常感谢
答案 0 :(得分:1)
您可以将服务设为这样的前台服务:
final int myID = 1234;
//This constructor is deprecated. Use Notification.Builder instead
Notification notice = new Notification(R.drawable.ic_launcher, "Started Alarm", System.currentTimeMillis());
//This method is deprecated. Use Notification.Builder instead.
notice.setLatestEventInfo(this, "Alarm.", "Please wait...", pendIntent);
notice.flags |= Notification.FLAG_NO_CLEAR;
//notification.flags |= Notification.FLAG_NO_CLEAR;
startForeground(myID, notification);
然后只有在没有其他方式且您的服务具有高优先级的情况下,Android才会停止您的服务
唯一的是你必须要通知