android - 保存上次阅读位置
问题描述
我创建了一个向用户阅读书籍的应用程序。
用户需要能够从与之前的应用会话相同的位置继续阅读。
如果随时可能发生进程终止,我该怎么做?
解决方案
您可以像这样在您的应用程序中创建一个服务类,并使用您的后端创建一个 api:-
服务类 OnClearFromRecentService.class:-
public class OnClearFromRecentService extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_NOT_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onTaskRemoved(Intent rootIntent) {
callApi();
stopSelf();
}
public void callApi(){
//set your api here
}
}
并在您的清单中设置此服务类:-
<service
android:name=".halper.OnClearFromRecentService"
android:stopWithTask="false" />
并在播放视频时启动此服务:-
OnClearFromRecentService onClearFromRecentService = new OnClearFromRecentService();
或在您需要停止服务的地方停止服务,如下所示:-
onClearFromRecentService.onTaskRemoved(new Intent(LandingScreen.this, OnClearFromRecentService.class));
推荐阅读
- android - 如何修复 android webview 应用程序中的字符串错误?
- javascript - 如何指定要使用的 API 数据?
- azure - 使用 .NET sdk 获取所有 Azure 数据工厂管道运行
- flutter - Flutter CircularprogressIndicator 未正确显示
- c# - 安装 Microsoft.AspNetCore.Authentication.Facebook 后未调用 FunctionsStartup,导致 DI 失败
- python - 比嵌套 for 循环更好的方法来生成所有正切片
- angular - 使用 Angular 的 HttpClient 请求的安全方法是什么?
- javascript - 如何使用 find 方法通过 javascript 中的多个属性在数组中查找对象?
- google-ads-api - 从 google adwords API 获取 AuthenticationError.OAUTH_TOKEN_INVALID
- amazon-web-services - 需要端到端建议将 EC2 实例连接到另一个云或数据中心中的本地跳转主机