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" />
最近回到了一些 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" />