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

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. 汇编学习(1)——基础知识
  2. 《神策军》第三期来袭!
  3. Ubuntu换源失败:Could not get lock /var/lib/apt/lists/lock - open
  4. 改变php二维数组的值_php如何修改二维数组中的值?
  5. php不同洁面使用json_PHP针对JSON操作实例分析
  6. 【转】每天一个linux命令(61):wget命令
  7. 一行代码让 Python 的运行速度提高100倍
  8. Codeforces Round #301 (Div. 2)
  9. 用iptables实现NAT
  10. 用贪心算法求解最小生成树
  11. 完美解决苹果电脑mac终端无法输入大写T的问题
  12. 平面曲线的弧长和曲率
  13. 修改bounds属性后的效果
  14. linux 搭建论坛(虚拟机)
  15. 信息系统项目管理师计算题(期望值)
  16. Python-根据照片信息获取用户详细信息(微信发原图或泄露位置信息)
  17. YouTube儿童版的四种选择(其中不包含令人毛骨悚然的假视频)
  18. cJSON的使用方法
  19. java Socket长连接
  20. 分数阶傅里叶变换Transformer

热门文章

  1. 数字电路31(已知状态图设计同步时序电路)
  2. Lambda架构简介
  3. sai撕裂M字母教程
  4. gs232/ls1b——pmon配置TLB学习实例
  5. M302H-YS-Hi3798MV300H/MV310-当贝纯净桌面卡刷固件包
  6. 证监会澄清“易会满主持召开记者招待会”:纯属谣言
  7. 超级计算机的基本结构
  8. java中的多态的概念_java中多态的概念
  9. 计算机网络工程施工,一种计算机网络工程施工用墙体布线盒的制作方法
  10. Java实验8 多线程编程