检测设备是否为模拟器,是否root,禁止截屏
下面的方法基本上都是网上找回来的,全部亲测可用,但部分来源已不可查,记得的都已经加上转载链接
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,禁止截屏相关推荐
- Android 检测设备是否为模拟器
最近有一个新的需求,检测设备是否为模拟器,如果是模拟器就禁用某些功能. 你还在为开发中频繁切换环境打包而烦恼吗?快来试试 Environment Switcher 吧!使用它可以在app运行时一键切换 ...
- Android 禁止截屏录屏
一.应用中禁止截屏录屏 @Overrideprotected void onCreate(Bundle savedInstanceState) {getWindow().addFlags(Window ...
- Android中关于屏幕的三个小众知识(宽屏适配、禁止截屏和保持屏幕常亮)
转自:https://www.jb51.net/article/129633.htm 前言 宽屏适配.禁止截屏和保持屏幕常亮,这三个与屏幕有关的 Android 开发小众知识,说不定什么时候就派上用场 ...
- android 禁止截屏录屏功能,android 应用禁止截屏录屏
更新记录 1.0.0(2021-02-01) Android 应用禁止截屏录屏 平台兼容性 Android iOS 适用版本区间:4.4 - 11.0 × 原生插件通用使用流程: 购买插件,选择该插件 ...
- 2022-10-09 Android app禁止截屏方法 和 在禁止截屏的情况下录制屏幕
一.APP有时候为了保护用户的隐私安全会禁止用户录屏和截屏,比如金融类的app等.可以在app的onCreate方法中添加这么一段代码 1.代码 //禁止app录屏和截屏getWindow().set ...
- Android禁止截屏
在程序使用当中,有的界面涉及到账户密码等比较隐私的内容,截屏会记录下这些信息(直接用其他手机拍下来不香吗....),用其他手机拍照管不了,但是禁止截屏咱们还是可以控制的 禁止截屏的实现方法很简单,就是 ...
- uni-app安卓禁止截屏,一行代码
let osname = plus.os.name console.log(osname) if (osname == 'Android') {//禁止截屏var activity = plus.an ...
- uniapp安卓端禁止截屏允许截屏
方法一: 设置禁止截屏,可以放在App.vue onLaunch中. let activity = plus.android.runtimeMainActivity(); plus.android.i ...
- flutter添加水印、添加自定义水印、禁止截屏(Android)
一.前言 现实生活中,我们想要对应用的开发程序内容进行管控,避免暴露出敏感信息.因此,在很多的pc端的开发页面上,经常能看见水印,这种水印的实现,在html.vue等技术上对于开发过的人来说十分的简单 ...
最新文章
- 汇编学习(1)——基础知识
- 《神策军》第三期来袭!
- Ubuntu换源失败:Could not get lock /var/lib/apt/lists/lock - open
- 改变php二维数组的值_php如何修改二维数组中的值?
- php不同洁面使用json_PHP针对JSON操作实例分析
- 【转】每天一个linux命令(61):wget命令
- 一行代码让 Python 的运行速度提高100倍
- Codeforces Round #301 (Div. 2)
- 用iptables实现NAT
- 用贪心算法求解最小生成树
- 完美解决苹果电脑mac终端无法输入大写T的问题
- 平面曲线的弧长和曲率
- 修改bounds属性后的效果
- linux 搭建论坛(虚拟机)
- 信息系统项目管理师计算题(期望值)
- Python-根据照片信息获取用户详细信息(微信发原图或泄露位置信息)
- YouTube儿童版的四种选择(其中不包含令人毛骨悚然的假视频)
- cJSON的使用方法
- java Socket长连接
- 分数阶傅里叶变换Transformer