每隔几秒钟开始服务

Vig*_*ala 0 android alarmmanager android-service android-pendingintent

我想在wifi网络连接时启动服务.

如果我在wifi连接时启动服务,请使用

context.startService(intent_alarm);
Run Code Online (Sandbox Code Playgroud)

它工作正常.

我想在接收广播后每10秒启动一次服务.所以我使用了AlarmManager

这是代码:

public class NetworkChangeReceiver extends BroadcastReceiver{
        public static AlarmManager am;
        public static PendingIntent sender;
      @Override
         public void onReceive(final Context context, final Intent intent) {
                 Intent intent_alarm = new Intent(context, MyService.class);
                    sender = PendingIntent.getBroadcast(context, 0, intent_alarm, 0);
                    am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
                    long l = System.currentTimeMillis();
                    l += 3600L;
                    am.setRepeating(AlarmManager.RTC_WAKEUP,l, 3600L, sender);
                    //context.startService(intent_alarm);
    }
    }
Run Code Online (Sandbox Code Playgroud)

我想在这里我给了3.6秒的间隔.

但是服务没有运行,我手动检查了它.请告诉我我做错了什么?

Gre*_*nis 5

您需要告诉警报管理器启动您的服务:

Intent intent_alarm = new Intent(context, MyService.class);
sender = PendingIntent.getService(context, 0, intent_alarm, 0);
Run Code Online (Sandbox Code Playgroud)