uni-app android离线打包 template 原生隐私政策提示框点击同意崩溃

uni-app android离线打包 template 原生隐私政策提示框点击同意崩溃

示例代码:

<meta-data  
    android:name="DCLOUD_PRIVACY_PROMPT"  android:value="template"/>

操作步骤:

之前没用配置template 原生隐私政策提示框,如今配置template 原生隐私政策提示框去覆盖之前的版本 然后点击同意会有必现崩溃!

预期结果:

能覆盖安装之前没有用template 原生隐私政策提示框

实际结果:

配置template 原生隐私政策提示框去覆盖之前没用template 原生隐私政策提示框, 点击同意必现崩溃现象!

bug描述:

之前没用配置template 原生隐私政策提示框,如今配置template 原生隐私政策提示框去覆盖之前的版本 然后点击同意会有必现崩溃! 原生离线打包sdk版本v3.1.22

image

信息 描述
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 所有
HBuilderX 正式
HBuilderX版本 3.2.2
手机系统 Android
手机系统版本 Android 11
手机厂商 所有机型
手机机型 全部
页面类型 vue
打包方式 云端
项目创建方式 HBuilderX

更多关于uni-app android离线打包 template 原生隐私政策提示框点击同意崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app android离线打包 template 原生隐私政策提示框点击同意崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题是由于隐私政策弹窗配置变更导致的兼容性问题。当应用从无template配置升级到有template配置时,旧版本的数据结构无法兼容新版本的隐私政策处理逻辑,导致点击同意时发生崩溃。

解决方案:

  1. 清除应用数据:卸载应用后重新安装,或者清除应用缓存和数据再启动。这是最直接的解决方法,可以确保隐私政策配置状态一致。

  2. 代码层面处理:在原生代码中增加兼容性判断。检查DCLOUD_PRIVACY_PROMPT配置变更的情况,在检测到配置变更时重置隐私政策状态:

// 在隐私政策弹窗初始化前添加判断
SharedPreferences sp = getSharedPreferences("dcloud_privacy", MODE_PRIVATE);
String currentPrompt = "template"; // 当前配置
String savedPrompt = sp.getString("prompt_type", "");
    
if (!savedPrompt.equals(currentPrompt) && !savedPrompt.isEmpty()) {
    // 配置发生变化,清除旧的隐私政策状态
    sp.edit().clear().apply();
}
回到顶部