我只是android的新手,请帮助一下。我正在尝试在我的Android应用程序中使用 JobService 或 com.firebase.jobdispatcher.JobService ,但据我研究,我看到JOB SERVICE在主线程上运行应用程序在后台或前台运行时,它会继续执行其日程安排。
但问题是我想做的事情即使应用程序从应用程序托盘中删除,也可以在每30分钟后获取用户位置。我对以下几点感到困惑
有没有办法运行一个即使在应用程序被杀死后运行的服务也可以执行计划任务?
答案 0 :(得分:0)
您可以使用AlarmManager
link
创建您的服务器类:
public class MService extends IntentService {
public MyTestService() {
super("MService");
}
@Override
protected void onHandleIntent(Intent intent) {
// Your firebase task
}
}
然后你的广播
public class MReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent in = new Intent(context, MService.class);
context.startService(in);
}
}
终于
Intent intent = new Intent(getApplicationContext(), MReceiver.class);
final PendingIntent pIntent = PendingIntent.getBroadcast(this, MReceiver.REQUEST_CODE,intent, PendingIntent.FLAG_UPDATE_CURRENT);
long firstMillis = System.currentTimeMillis();
AlarmManager alarm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP, firstMillis, AlarmManager.INTERVAL_HALF_HOUR, pIntent);