How can I restore data from instant app to installed app?

后端 未结 1 1261
小蘑菇
小蘑菇 2021-01-26 19:31

Keep user state after app installation

https://developer.android.com/topic/instant-apps/ux-best-practices.html#keep_user_state_after_app_installation

I want to

相关标签:
1条回答
  • 2021-01-26 19:37

    UPDATE They’ve again updated the Instant Apps FAQ on how to do this.

    For devices running Android 8.0 (API level 26) or higher, the instant app's data is transferred automatically when the APK installation begins, if the installed app is configured to use targetSandboxVersion 2.

    For installed apps not configured to use targetSandboxVersion 2, or devices running Android 7.1 (API level 25) or lower, please consider using the Cookie API (Sample) or Storage API (Sample) to transfer the data.

    For Oreo 8.0 and higher, it should be automatically handled.

    But for 7.0 and below, you've got 2 options (#1 is recommended):

    1. PackageManagerCompat#setInstantAppCookie(), the cookie has a size limit, but it is the simplest and most suitable for shared preferences.
    2. InstantAppsClient#getInstantAppData(), creates a ZIP of the data that you'll have to extract and parse once it's moved over to the installed-app side, a bit more complicated.

    The FAQ lists a sample for each option:

    • googlesamples/android-instant-apps/cookie-api
    • googlesamples/android-instant-apps/storage-api

    The Storage API/ZIP sample does not show you how to parse the ZIP files and what file type/format to expect from SharedPreferences files, so you'll have to implement that yourself, but here are some related posts:

    • How to read file from ZIP using InputStream?
    • How to transfer sharedpreferences file from internal storage to external storage?
    0 讨论(0)
提交回复
热议问题