我有一个Observable,我想定期重复,但仅限以下情况:
apiInterface.getData() // returns Observable<Data>
... // processing is happening here
.toList()
.repeatWhen(completed -> {
if (autoReload){
// Repeat every 3 seconds
return completed.delay(3, TimeUnit.SECONDS);
} else {
return ??? // What do I have to return that it does not repeat?
}
})
.subscribe(list -> callbackInterface.success(list));
Run Code Online (Sandbox Code Playgroud)
我的问题是:我必须在else
语句中返回什么才能不重复Observable(只需执行一次链)?
我有一个应用程序,它可以接收不同的通知类型(例如News
和Podcast
).目前,它有两个简单的开关,用户可以启用和禁用这些不同的通知类型.它只需订阅和取消订阅相应的Firebase主题即可.明显的优点是设备只接收用户想要的通知,而不必在本地过滤它们=>电池和数据有效.
问题是,我想将它与新的Android O通知渠道结合起来.我是否正确地假设唯一的方法是只订阅Firebase中的所有主题并让用户在Android设置中手动禁用不需要的主题?
有没有更好的方法可以节省更多的电池寿命(通过不接收所有通知)?
android android-notifications firebase firebase-cloud-messaging android-8.0-oreo