Android App清除数据的方案
前言
最近MIUI13上出了个未经应用商店安装,算是未知来源。AndroidID,通知,网络权限没授权则默认关闭。
安装app时允许虚拟身份ID:
允许允许虚拟身份ID前获取一次AndroidId:
attachBaseContext获取AndroidId, 此时还没有点允许虚拟身份ID,此时获取的AndroidId:0000000000000000,允许虚拟身份后后再获取也是不会变化的,需要杀进程重新打开app才能获取正确的AndroidId。允许虚拟身份ID后获取AndroidID:
点允许虚拟身份ID后,再获取AndroidID正常,不需要杀进程重启app进程。
安装app时不允许虚拟身份ID:
- 获取AndroidID返回0000000000000000
- 系统设置->app权限:允许手机信息 后,获取AndroidID依然返回 0000000000000000
一旦用户点击确认,该权限弹框就不再弹出。
有一个业务场景需要有该弹框弹出的恢复机制,可以通过清除应用数据达到目的。
解决方法一:
在app里直接调用系统接口clearApplicationUserData进行清除
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);if (am != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {boolean ret = am.clearApplicationUserData();Log.w(TAG, "Clear application user data result:" + ret);}
解决方法二:
在app里直接执行命令pm clear packageName
public static Process clearAppUserData(String packageName) {Process p = execRuntimeProcess("pm clear " + packageName);return p;}public static Process execRuntimeProcess(String commond) {Process p = null;try {p = Runtime.getRuntime().exec(commond);} catch (IOException e) {e.printStackTrace();}return p;}
Android App清除数据的方案相关推荐
- Android Learning:数据存储方案归纳与总结
前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几 ...
- android 清除应用程序数据,Android – 通过“清除数据”设置选项阻止正在删除的应用程序数据或文件...
我有一个Android应用程序,可以在少量文件中存储大约25-40K的私有应用程序数据. 默认情况下,系统将这些文件存储在目录/ data / data /'my app package'/ file ...
- 使用代码实现Android的清除数据的功能
清除数据 清除数据主要是清除用户配置,比如SharedPreferences.数据库等等,这些数据都是在程序运行过程中保存的用户配置信息,清除数据后,下次进入程序就和第一次进入程序时一样: 代码实现方 ...
- android app数据库数据存放
app数据库数据一般保存在 /data/data/app_package_name/databases目录下: name.db 查询数据库: sqlite3 name.db 查询表: sqlite&g ...
- Android 中的数据储存方案, 持久化技术
为什么80%的码农都做不了架构师?>>> Android 中储存数据的方法主要有三种: 1,文件储存. 2,SharedPreference储存. 3,数据库储存. 1. 文件 ...
- java 访问手机存储卡,Android App将数据写入内部存储和外部存储的示例
File存储(内部存储) 一旦程序在设备安装后,data/data/包名/ 即为内部存储空间,对外保密. Context提供了2个方法来打开输入.输出流 FileInputStream openFil ...
- [免费专栏] Android安全之数据存储与数据安全「详解」
也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...
- Android Q app内存压缩优化方案介绍
Android Q app内存压缩优化方案介绍 原创文章,谢绝转载! Android Q新增了部分系统性能优化方案,这里简单学习下,本篇文章先分析app compaction. 一.愿景: 在保证后台 ...
- Android App Initializer 实现方案
文章目录 1.背景 2.ContentProvider 方案进行初始化 2.1 概念 2.2 优缺点 2.3 使用步骤 3.Initializer 方案进行初始化 3.1 概念 3.2 优缺点 3.3 ...
最新文章
- ORACLE用户权限管理笔记整理
- 电梯调度算法 软工 Pair Project
- 在Exchange 2013 OWA登录页面中修改密码
- java实现沙箱测试环境支付宝支付(demo)和整合微信支付和支付宝支付到springmvc+spring+mybatis环境全过程(支付宝和微信支付)
- 【CF809D】Hitchhiking in the Baltic States(Splay,动态规划)
- everyday words
- 以非泛型方式调用泛型方法(三)
- IBASE search
- Jmeter录制app脚本
- Vue项目中使用Echarts(一)
- 书单|阅读让人越来越低
- 用VB无窗口透明Usercontrol编写透明浮动按钮
- 曼昆《经济学原理微观》读书笔记
- 30岁学linux内核,明尼苏达大学Linux内核“伪装者提交”研究人员发表公开信
- Android之NDK环境配置+JNI开发+so文件编译
- 【计算机毕业设计】外卖点餐源码
- 数据结构循环队列C++实现
- 运行mysql时,提示Table ‘performance_schema.session_variables’ doesn’t exis
- 说一说你的职业规划是怎样的呢?说说未来一年、三年、五年的职业规划
- word插入excel文档显示图标的方法