有很多关于我指定的主题的文章。但是,所有似乎都没有用。至少在我的情况下。我只想在应用程序由用户手动关闭后始终运行我的服务。我不想要前台服务,因为它在状态栏中显示一些通知图标。我希望定期服务来完成我的要求。或者请建议是否有其他替代方案可以实现此目的。我尝试使用return START_STICKY
作为onStartCommand
回调的返回值。我也试过广播接收器,无论如何都没有帮助我。请帮帮我。
答案 0 :(得分:1)
您可以在服务类的onTaskRemoved()方法中创建5分钟的警报。它将在5分钟后自动调用并重新启动服务。
在服务类
中public void onTaskRemoved(Intent rootIntent) {
Intent restartService = new Intent(getApplicationContext(), YourService.class);
restartService.setPackage(Yourpackagename);
PendingIntent restartServiceIntent = PendingIntent.getService(getApplicationContext(), 1, restartService, PendingIntent.FLAG_ONE_SHOT);
AlarmManager alarmService = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
alarmService.set(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealTime()+1000, restartServiceIntent);
}
答案 1 :(得分:0)
您可以通过在Android中实施 AlarmManger 概念来实现此功能。一旦您想要实现此后台服务,请查看以下URL。
提示:在实施之前,您应该确保这一点。因为它会消耗很多电池。
祝你好运http://stacktips.com/tutorials/android/repeat-alarm-example-in-android
https://developer.android.com/reference/android/app/AlarmManager.html