首页 > 解决方案 > 保存上次阅读位置

问题描述

我创建了一个向用户阅读书籍的应用程序。

用户需要能够从与之前的应用会话相同的位置继续阅读。

如果随时可能发生进程终止,我该怎么做?

标签: androidlifecycle

解决方案


您可以像这样在您的应用程序中创建一个服务类,并使用您的后端创建一个 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));

推荐阅读