前言

最近MIUI13上出了个未经应用商店安装,算是未知来源。AndroidID,通知,网络权限没授权则默认关闭。

安装app时允许虚拟身份ID:

  1. 允许允许虚拟身份ID前获取一次AndroidId:
    attachBaseContext获取AndroidId, 此时还没有点允许虚拟身份ID,此时获取的AndroidId:0000000000000000,允许虚拟身份后后再获取也是不会变化的,需要杀进程重新打开app才能获取正确的AndroidId。

  2. 允许虚拟身份ID后获取AndroidID:
    点允许虚拟身份ID后,再获取AndroidID正常,不需要杀进程重启app进程。

安装app时不允许虚拟身份ID:

  1. 获取AndroidID返回0000000000000000
  2. 系统设置->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清除数据的方案相关推荐

  1. Android Learning:数据存储方案归纳与总结

    前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几 ...

  2. android 清除应用程序数据,Android – 通过“清除数据”设置选项阻止正在删除的应用程序数据或文件...

    我有一个Android应用程序,可以在少量文件中存储大约25-40K的私有应用程序数据. 默认情况下,系统将这些文件存储在目录/ data / data /'my app package'/ file ...

  3. 使用代码实现Android的清除数据的功能

    清除数据 清除数据主要是清除用户配置,比如SharedPreferences.数据库等等,这些数据都是在程序运行过程中保存的用户配置信息,清除数据后,下次进入程序就和第一次进入程序时一样: 代码实现方 ...

  4. android app数据库数据存放

    app数据库数据一般保存在 /data/data/app_package_name/databases目录下: name.db 查询数据库: sqlite3 name.db 查询表: sqlite&g ...

  5. Android 中的数据储存方案, 持久化技术

    为什么80%的码农都做不了架构师?>>>    Android 中储存数据的方法主要有三种: 1,文件储存. 2,SharedPreference储存. 3,数据库储存. 1. 文件 ...

  6. java 访问手机存储卡,Android App将数据写入内部存储和外部存储的示例

    File存储(内部存储) 一旦程序在设备安装后,data/data/包名/ 即为内部存储空间,对外保密. Context提供了2个方法来打开输入.输出流 FileInputStream openFil ...

  7. [免费专栏] Android安全之数据存储与数据安全「详解」

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...

  8. Android Q app内存压缩优化方案介绍

    Android Q app内存压缩优化方案介绍 原创文章,谢绝转载! Android Q新增了部分系统性能优化方案,这里简单学习下,本篇文章先分析app compaction. 一.愿景: 在保证后台 ...

  9. Android App Initializer 实现方案

    文章目录 1.背景 2.ContentProvider 方案进行初始化 2.1 概念 2.2 优缺点 2.3 使用步骤 3.Initializer 方案进行初始化 3.1 概念 3.2 优缺点 3.3 ...

最新文章

  1. ORACLE用户权限管理笔记整理
  2. 电梯调度算法 软工 Pair Project
  3. 在Exchange 2013 OWA登录页面中修改密码
  4. java实现沙箱测试环境支付宝支付(demo)和整合微信支付和支付宝支付到springmvc+spring+mybatis环境全过程(支付宝和微信支付)
  5. 【CF809D】Hitchhiking in the Baltic States(Splay,动态规划)
  6. everyday words
  7. 以非泛型方式调用泛型方法(三)
  8. IBASE search
  9. Jmeter录制app脚本
  10. Vue项目中使用Echarts(一)
  11. 书单|阅读让人越来越低
  12. 用VB无窗口透明Usercontrol编写透明浮动按钮
  13. 曼昆《经济学原理微观》读书笔记
  14. 30岁学linux内核,明尼苏达大学Linux内核“伪装者提交”研究人员发表公开信
  15. Android之NDK环境配置+JNI开发+so文件编译
  16. 【计算机毕业设计】外卖点餐源码
  17. 数据结构循环队列C++实现
  18. 运行mysql时,提示Table ‘performance_schema.session_variables’ doesn’t exis
  19. 说一说你的职业规划是怎样的呢?说说未来一年、三年、五年的职业规划
  20. word插入excel文档显示图标的方法

热门文章

  1. 搭建 公网FTP服务器 外网访问
  2. spring boot mail 发送 设置代理服务器
  3. SAP HANA efashion案例(eFashion on HANA)
  4. 【R语言-ggplot2入门学习教程-全面概览】
  5. android videoview 拉伸,拉伸填充VideoView,纵横比VideoView
  6. NOIp模拟赛 西行妖下
  7. Educoder JavaScript学习手册四:JS对象
  8. Mac中Idea 切换不同项目快捷键
  9. 美国网络武器也不是万能的?在打击ISIS上表现不如人意
  10. hbase rit解决