Ram*_*sad 5 android android-service android-alarms
问题:1 => 我想每天上午9点到下午4点运行服务.我计划两种方法.哪种方法最好?
方法1: 内部服务:(此服务在第一次应用程序启动时创建活动时初始化)
if (9 AM <=current time<=4 PM)
{
fetch data from server.
}
Run Code Online (Sandbox Code Playgroud)
方法2:
在Activity oncreate中使用警报管理器并根据警报管理器启动服务.然后在第二天醒来并开始服务.
哪种方法最好?
问题:2 =>如何以编程方式运行或不运行服务?
编写一个 BroadcastReciever 来接收 ON_BOOT 广播(您需要向清单中添加适当的权限和意图过滤器)。BroadcastReceiver 的存在只是为了通过警报管理器创建上午 9 点的通知。预定的警报有一个 PendingIntent,它将启动该服务。显然,将闹钟设置为每 24 小时重复一次。
启动后,该服务会正常运行到下午 4 点,此时它会自行停止。
服务的 onStartCommand() 方法应该返回适当的标志,以便系统在崩溃或被终止时重新启动它。
我唯一不明白的是如何在第一次安装时自动启动该服务。等待设备重新启动不太实际。当我编写这样的应用程序时,它们通常与具有启动和停止服务控件的活动结合在一起。
| 归档时间: |
|
| 查看次数: |
537 次 |
| 最近记录: |