Alternative/replacement 个 Firebase Jobdispatcher

Alternative/replacement of Firebase Jobdispatcher

最近回到了一些 Android 开发者,并且由于 Nougat 似乎 Firebase JobDispatcher 不可能每 15 分钟触发一次以上,这不适用于我们的用例,我们需要能够每分钟至少一次向我们的网络服务推送和拉取数据。

我用什么 should/can 代替?我还没有找到可靠的替代品,一直在研究 SyncAdapter、IntentService 以及我发现它们并不是真正适合这种用例的东西。

提前致谢。

您可以使用基本服务

public class YourWebService extends Service {

    private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);

    @Override
    public void onCreate() {
        super.onCreate();

        Runnable runnable =  new Runnable() {
            @Override
            public void run() {
                //your code here
                //web request, data push, something else
            }
        };  

        //your code will be executed every 60 seconds
        scheduler.scheduleAtFixedRate(runnable, 0, 60, TimeUnit.SECONDS);
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        return START_STICKY;
    }

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
}

您可以从 activity

开始您的服务
 startService(new Intent(YourActivity.this, YourWebService.class));

并且您必须在 manifest.xml

中注册您的服务
<service
    android:name=".YourWebService" />