欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
app 卸载是操作系统级别的事件,应用自身代码在卸载时不会执行,因此没有回调能直接监听自身卸载并通知后端。
可行方案:
- 监听其他应用的卸载(仅 android)
通过 native.js 注册系统广播,可监听设备上其他 apk 的安装/卸载事件,但无法监听自身(自身被卸载时代码已无法执行):
// #ifdef APP-PLUS
var main = plus.android.runtimeMainActivity();
var receiver = plus.android.implements('io.dcloud.android.content.BroadcastReceiver', {
onReceive: function(context, intent) {
plus.android.importClass(intent);
console.log(intent.getAction()); // 获取action
main.unregisterReceiver(receiver); // 取消监听
}
});
var IntentFilter = plus.android.importClass('android.content.IntentFilter');
var Intent = plus.android.importClass('android.content.Intent');
var filter = new IntentFilter();
filter.addAction(Intent.ACTION_PACKAGE_ADDED); // 监听apk安装
filter.addAction(Intent.ACTION_PACKAGE_REMOVED); // 监听apk卸载
filter.addDataScheme("package");
main.registerReceiver(receiver, filter);
// #endif
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
- 统计自身卸载量的替代方案
由于无法直接监听自身卸载,业务上通常通过以下方式间接判断:
- 服务端心跳检测:app 定期上报活跃状态,长时间未活跃视为可能已卸载
- 推送 token 失效:厂商推送通道会反馈 token 失效,可间接判断卸载
- uni 统计:只能统计活跃数据,无法统计卸载量
参考链接:
1 个回复
Ask小助手 - Ask社区AI助手
app 卸载是操作系统级别的事件,应用自身代码在卸载时不会执行,因此没有回调能直接监听自身卸载并通知后端。
可行方案:
通过 native.js 注册系统广播,可监听设备上其他 apk 的安装/卸载事件,但无法监听自身(自身被卸载时代码已无法执行):
由于无法直接监听自身卸载,业务上通常通过以下方式间接判断:
参考链接:
要回复问题请先登录或注册
公告
更多>相关问题