如何每5分钟唤醒我的意向服务

Mal*_*alo 3 java android android-intent intentservice android-intentservice

我之前知道这个问题,但我没有得到任何答案,我想创建一个始终运行线程的意图服务,但是当我从应用程序中退出时,我的服务停止,然后线程也停止了.我需要创建一些东西来唤醒服务每隔几分钟.或者甚至在app被杀或关闭时阻止服务的东西.

这就是我开始服务的方式

Intent intent= new Intent(Intent.ACTION_SYNC,null,this,IntentServ.class);
startService(intent);
Run Code Online (Sandbox Code Playgroud)

Kar*_*eek 6

为此,您可以使用AlarmManager可以每1小时启动您的服务.例如 :

 AlarmManager mgr = (AlarmManager) context
                .getSystemService(Context.ALARM_SERVICE);
 Intent notificationIntent = new Intent(context,
                UpdateService.class);
 PendingIntent pendingIntent=PendingIntent.getService(context, requestCode, Intent.parseIntent(), 0);
  mgr.setInexactRepeating(AlarmManager.RTC_WAKEUP,
        System.currentTimeMillis(), AlarmManager.INTERVAL_HOUR, pendingIntent);
Run Code Online (Sandbox Code Playgroud)

  • AlarmManager不会阻止设备休眠,但如果您想在触发警报时唤醒设备,则可以在注册时使用AlarmManager.RTC_WAKEUP,否则可以使用AlarmManager.RTC.http://developer.android.com/reference/android/app/AlarmManager.html (3认同)