我通过firebase作业调度程序设置了一个作业,它应该在X-hours之后执行.当应用程序处于打开状态或后台时它可以正常工作但在应用程序关闭时无效
太多人都遇到过这个问题,即使这样的问题在Github仍然存在,但我没有找到解决方案.
这是我的代码:
public void setupJob(){
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(this));
final int periodicity = (int) TimeUnit.HOURS.toSeconds(3);
final int toleranceInterval = 30;
Job myJob = dispatcher.newJobBuilder()
.setService(MyScheduler.class)
.setTag("MY_JOB_TAG")
.setRecurring(false)
.setLifetime(Lifetime.FOREVER)
.setTrigger(Trigger.executionWindow(periodicity, periodicity + toleranceInterval))
.setReplaceCurrent(false)
.setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL)
.build();
dispatcher.mustSchedule(myJob);
}
Run Code Online (Sandbox Code Playgroud)
制作.setRecurring(true)会触发它,但只有在你打开应用程序然后它重复并且即使应用程序关闭也能正常工作.
请帮忙!
在 Android Studio 中,我刚刚注意到 Kotlin Activity 中有 4 个相关 XML 文件的装订线图标,即使它们都与同一个布局 XML 文件相关。
而在 Java Activity 中只有一个。
这可能是什么原因?
通过 XML,我们可以轻松地将自定义 UI 控制器(controller_layout_id)添加到SimpleExoPlayerView,如下所示:
<com.google.android.exoplayer2.ui.SimpleExoPlayerView
android:id="@+id/exo_player_view"
android:layout_width="match_parent"
android:layout_height="150dp"
app:controller_layout_id="@layout/player_controls"/>
Run Code Online (Sandbox Code Playgroud)
有没有办法以编程方式添加这样的布局?