Android:哪个是通过服务重复操作而不重复警报管理器的最佳方法?

时间:2012-03-14 19:42:01

标签: android service timer alarmmanager repeat

我想知道在没有重复警报管理器的情况下,通过服务重复操作的最佳方法是什么。

我启动了一个带有警报管理器的服务(“不重复”警报管理器)因为我需要这个服务不会被android中断。

此服务在活动时接收一些参数,并应通过重复某些操作来详细说明。如果我使用重复警报管理器,服务将无法正确读取它们。

我尝试使用“计时器”类,但过了一段时间Android停止了它,服务没有做任何事情。

有没有一种方法可以在没有Android停止一切的情况下使用计时器来维持服务的活动状态?

非常感谢

1 个答案:

答案 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才会停止您的服务

唯一的是你必须要通知