下面的方法基本上都是网上找回来的,全部亲测可用,但部分来源已不可查,记得的都已经加上转载链接

1.检测设备是否为模拟器

public static boolean isEmulator(Context context){Context baseContext = context.getApplicationContext();String url = "tel:" + "123456";Intent intent = new Intent();intent.setData(Uri.parse(url));intent.setAction(Intent.ACTION_DIAL);// 是否可以处理跳转到拨号的 Intentboolean canResolveIntent = intent.resolveActivity(baseContext.getPackageManager()) != null;return Build.FINGERPRINT.startsWith("generic")|| Build.FINGERPRINT.toLowerCase().contains("vbox")|| Build.FINGERPRINT.toLowerCase().contains("test-keys")|| Build.MODEL.contains("google_sdk")|| Build.MODEL.contains("Emulator")|| Build.SERIAL.equalsIgnoreCase("unknown")|| Build.SERIAL.equalsIgnoreCase("android")|| Build.MODEL.contains("Android SDK built for x86")|| Build.MANUFACTURER.contains("Genymotion")|| (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic"))|| "google_sdk".equals(Build.PRODUCT)|| ((TelephonyManager) baseContext.getSystemService(Context.TELEPHONY_SERVICE)).getNetworkOperatorName().toLowerCase().equals("android")|| !canResolveIntent;}

代码转自https://blog.csdn.net/a939006659/article/details/79213469

2.检测设备是否已root

public static boolean isRoot(){boolean bool = false;try{if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists())){bool = false;} else {bool = true;}} catch (Exception e) {} return bool;}

3.禁止个别Activity截屏(如果要整个应用,可以写在基类)

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

建议写在onCreate方法里

检测设备是否为模拟器,是否root,禁止截屏相关推荐

  1. Android 检测设备是否为模拟器

    最近有一个新的需求,检测设备是否为模拟器,如果是模拟器就禁用某些功能. 你还在为开发中频繁切换环境打包而烦恼吗?快来试试 Environment Switcher 吧!使用它可以在app运行时一键切换 ...

  2. Android 禁止截屏录屏

    一.应用中禁止截屏录屏 @Overrideprotected void onCreate(Bundle savedInstanceState) {getWindow().addFlags(Window ...

  3. Android中关于屏幕的三个小众知识(宽屏适配、禁止截屏和保持屏幕常亮)

    转自:https://www.jb51.net/article/129633.htm 前言 宽屏适配.禁止截屏和保持屏幕常亮,这三个与屏幕有关的 Android 开发小众知识,说不定什么时候就派上用场 ...

  4. android 禁止截屏录屏功能,android 应用禁止截屏录屏

    更新记录 1.0.0(2021-02-01) Android 应用禁止截屏录屏 平台兼容性 Android iOS 适用版本区间:4.4 - 11.0 × 原生插件通用使用流程: 购买插件,选择该插件 ...

  5. 2022-10-09 Android app禁止截屏方法 和 在禁止截屏的情况下录制屏幕

    一.APP有时候为了保护用户的隐私安全会禁止用户录屏和截屏,比如金融类的app等.可以在app的onCreate方法中添加这么一段代码 1.代码 //禁止app录屏和截屏getWindow().set ...

  6. Android禁止截屏

    在程序使用当中,有的界面涉及到账户密码等比较隐私的内容,截屏会记录下这些信息(直接用其他手机拍下来不香吗....),用其他手机拍照管不了,但是禁止截屏咱们还是可以控制的 禁止截屏的实现方法很简单,就是 ...

  7. uni-app安卓禁止截屏,一行代码

    let osname = plus.os.name console.log(osname) if (osname == 'Android') {//禁止截屏var activity = plus.an ...

  8. uniapp安卓端禁止截屏允许截屏

    方法一: 设置禁止截屏,可以放在App.vue onLaunch中. let activity = plus.android.runtimeMainActivity(); plus.android.i ...

  9. flutter添加水印、添加自定义水印、禁止截屏(Android)

    一.前言 现实生活中,我们想要对应用的开发程序内容进行管控,避免暴露出敏感信息.因此,在很多的pc端的开发页面上,经常能看见水印,这种水印的实现,在html.vue等技术上对于开发过的人来说十分的简单 ...

最新文章

  1. Python编程软件的安装与使用——Windows、Linux和Mac
  2. coding ssh_exchange_identification: Connection closed by remote host
  3. 4-4:TCP协议之TCP头部格式详解
  4. 11、Libgdx的音频
  5. 《网管员必读——网络基础》(第2版)电子课件下载
  6. DragDrop 注册失败的解决方法 转
  7. python---之hasattr()
  8. C语言学生信息管理系统源代码
  9. 包邮!送55本《大数据浪潮之巅:新技术商业制胜之道》
  10. 【转】常见英语单词前缀
  11. 第一章概述-------第一节--1.2互联网概述
  12. Deepin 微信版本太低无法登录
  13. 重复一下:关于Flash停止支持后Chrome如何启用过期插件
  14. 目标检测_精确定位_2020
  15. Android基础架构:Native层 Looper、Handler、Message 研究
  16. 建设网站对服务器配置的要求标准?
  17. 西北乱跑娃 -- python发送html邮件
  18. CTF ROT13加密原理
  19. 烟台市副高职称英语计算机考试试题,山东省烟台市2015年度全国职称外语等级考试科目、级别及题型...
  20. 教你如何用TreeView树形菜单创建像CSDN左边那样的导航之一:如何安装配置TreeView

热门文章

  1. 1000+AutoCAD字体符号素材大分享
  2. 买入资产还是买入负债+穷爸爸富爸爸
  3. 计算机蓝屏显示的英文是什么,电脑蓝屏时会出现一堆英文,你知道是什么意思吗?...
  4. Anaconda+OpenCV+tensorflow环境搭建和安装
  5. 深入浅出讲解IDS(入侵检测系统)
  6. 1905: 小明的糖果在哪里
  7. STM32CubeMX-串口中断实验
  8. 牛客网每日一道 LC5 使用插入排序对链表进行排序 5/147
  9. 产品设计中那个“+”是用来干嘛的?
  10. 遭遇Trojan.Alipop,microinfo.dll,gofwk.pic,game.dll,qpjmy.exe,nnaa.exe,SafeDrv.exe等1