天道酬勤,学无止境

如何检测/识别设备锁定屏幕设置是否设置为无?(How to detect/identify if device Lock Screen setting is set to None?)

问题

如果设备没有在设置时定义安全性,我需要在启用我的应用程序之前检查。

无法设置:图案、PIN、密码甚至刷卡。

有谁知道检查锁屏设置是否未启用的方法?

或者,我们可以检查启用了上述哪个锁屏设置吗?

谢谢!

回答1

您可以使用 KeyguardManager - 在您的情况下, isSecureMethod() 应该返回 false 。 http://developer.android.com/reference/android/app/KeyguardManager.html

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 我如何检测 android 设备屏幕何时将超时或“锁定”?(How do i detect when android device screen is about to timeout or “Lock”?)
    问题 我有一个需要检测屏幕何时锁定的 android 应用程序。 是否有可能发现屏幕将保持“解锁”状态多长时间? 回答1 您需要注册一个广播接收器。当设备进入睡眠状态时,您的系统将发送广播。 将以下代码放在需要的地方: private BroadcastReceiver receiver = new BroadcastReceiver() { public void onReceive(final Context context, final Intent intent) { //check if the broadcast is our desired one if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) //here define your method to be executed when screen is going to sleep }}; 您需要注册您的接收器: IntentFilter regFilter = new IntentFilter(); // get device sleep evernt regFilter .addAction(Intent.ACTION_SCREEN_OFF); registerReceiver(receiver, regFilter ); ACTION
  • 如何检测iOS设备是否处于静音模式?(How can I detect whether an iOS device is in silent mode or not?)
    问题 我一直在找几个小时,但似乎找不到任何API来说明如何检测iPhone铃声是否处于静音模式。 这就是我在说的: 无论如何,我是否可以使用Swift代码找出iOS设备的静音模式是打开还是关闭? 我特别在寻找iOS8及更高版本,因为不推荐使用iOS5。 谢谢。 回答1 我认为没有,您可能不需要直接调用API来检测设备是否静音。 您需要知道的是: 播放声音时,您将执行以下操作: try AVAudioSession.sharedInstance().setCategory({AVAudioSessionCategory}) try AVAudioSession.sharedInstance().setActive(true) audioPlayer = try AVAudioPlayer(contentsOfURL: alertSound) audioPlayer.prepareToPlay() audioPlayer.play() 在{AVAudioSessionCategory} ,您可以指定: AVAudioSessionCategorySoloAmbient:屏幕锁定和静音开关使音频静音 AVAudioSessionCategoryPlayBack:当静音开关设置为静音或屏幕锁定时,音频继续播放
  • TrickMo:TrickBot变种绕过双因子认证
    ang010ela 嘶吼专业版IBM X-Force研究人员发现一款安卓恶意软件使用TrickBot***来感染用户。该app被命名为TrickMo,可以绕过银行交易认证所用的双因子认证和强认证。研究人员分析认为TrickMo仍然在开发中,目前主要***德国用户。德国也是TrickBot最早出现的地方。桌面***和移动组件***尝试注入移动设备的过程至少有十年的历史。当用户在桌面感染了Trickbot这样的恶意软件后,就会看到一个请求移动设备操作系统类型和电话号码的web注入。然后,如果表明使用的是安卓设备,***就会用web注入伪装成银行欺骗受害者安装伪造的安全app。该app的目的就是获取和使用登入网上银行网站所需的安全验证码。研究人员分析发现恶意安卓app最可能是通过TrickBot传播的,因此将其命名为TrickMo。TrickMo也是交易认证码窃取恶意软件中最新的版本,其主要功能有:· 窃取个人设备信息· 拦截SMS消息· 记录定向应用的一次性密码· 锁定手机· 从设备上窃取图片· 自毁和移除因为银行会发布更多的高级安全措施,银行恶意软件也在不断地更新。比如,TrickMo可以打破最新的一次性密码方法。恶意软件分析研究人员分析发现TrickMo滥用了accessibility服务。任意app可以请求accessibility权限,并实现屏幕读取、修改对象大小和颜色
  • TrickMo:TrickBot变种绕过双因子认证
    ang010ela 嘶吼专业版IBM X-Force研究人员发现一款安卓恶意软件使用TrickBot***来感染用户。该app被命名为TrickMo,可以绕过银行交易认证所用的双因子认证和强认证。研究人员分析认为TrickMo仍然在开发中,目前主要***德国用户。德国也是TrickBot最早出现的地方。桌面***和移动组件***尝试注入移动设备的过程至少有十年的历史。当用户在桌面感染了Trickbot这样的恶意软件后,就会看到一个请求移动设备操作系统类型和电话号码的web注入。然后,如果表明使用的是安卓设备,***就会用web注入伪装成银行欺骗受害者安装伪造的安全app。该app的目的就是获取和使用登入网上银行网站所需的安全验证码。研究人员分析发现恶意安卓app最可能是通过TrickBot传播的,因此将其命名为TrickMo。TrickMo也是交易认证码窃取恶意软件中最新的版本,其主要功能有:· 窃取个人设备信息· 拦截SMS消息· 记录定向应用的一次性密码· 锁定手机· 从设备上窃取图片· 自毁和移除因为银行会发布更多的高级安全措施,银行恶意软件也在不断地更新。比如,TrickMo可以打破最新的一次性密码方法。恶意软件分析研究人员分析发现TrickMo滥用了accessibility服务。任意app可以请求accessibility权限,并实现屏幕读取、修改对象大小和颜色
  • 分享华为视频IVS1800功能测试记录,给想了解华为视频监控伙计们
    概述 IVS1800 智能微边缘是华为技术有限公司(以下简称华为)面向园区、普教、社区、小型网点等边缘应用场景的小型盒子类设备,具有超强计算性能、人性化本地人机界面设计、设备即插即用、易于管理运维、高可靠等特点。 1 iClint 1.1 设备管理类功能测试 设备管理 测试目的 验证设备管理功能 预制条件 系统正常运行 测试步骤 自动发现前端设备并添加。【设备管理】中【主设备】,选择添加摄像机,向导式添加前端设备。【设备管理】中【摄像机设备】,点击添加,创建摄像机组,设备分组管理,迁移或复制设备到该组。【设备管理】中主设备,选择添加摄像机,选择自动批量接入。前端设备批量参数配置(应用到其他)。 预期结果 添加成功。添加成功。创建组成功,设备迁移成功。批量导入成功。批量设置成功。 实际结果 通过 实时监控功能测试 实时监控管理 测试目的 用于验证实时监控功能 预制条件 系统正常运行 测试步骤 点击前端设备,视频浏览。 开启视频轮巡计划。 点击摄像机实况,进行视频局部放大功能。 支持实况预览快速回放。 实况界面中展开收藏夹页签,点击添加摄像机收藏按钮,选择系统中某个摄像机,有结果。 实况界面中建立一个9分屏的实况,展开收藏夹页签,添加预案收藏,有结果。 预期结果 实况播放成功。 视频轮巡计划启用并生效。 视频局部放大成功。 摄像机自动定位至所选区域。 实况预览快速回放成功。
  • 当iOS设备进入睡眠模式(屏幕变黑)时,是否可以检测到事件?(Is there a away to detect the event when iOS device goes to sleep mode (when the screen gets blackened)?)
    问题 我想检测两个事件: 设备被锁定/解锁。 设备进入睡眠状态,屏幕变黑。 我在这里能够实现的第一个目标:有没有一种方法可以检查iOS设备是否已锁定/未锁定? 现在,我想检测第二个事件,有什么办法吗? 回答1 您基本上已经有了解决方案,我猜您是从我最近的答案之一中找到的:) 使用com.apple.springboard.hasBlankedScreen事件。 屏幕黑屏时会发生多个事件,但是这一事件就足够了: CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), //center NULL, // observer hasBlankedScreen, // callback CFSTR("com.apple.springboard.hasBlankedScreen"), // event name NULL, // object CFNotificationSuspensionBehaviorDeliverImmediately); 回调在哪里: static void hasBlankedScreen(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object
  • 移动APP安全测试
    1 移动APP安全风险分析1.1 安全威胁分析安全威胁从三个不同环节进行划分,主要分为客户端威胁、数据传输端威胁和服务端的威胁。1.2 面临的主要风险1.3 Android测试思维导图 1.4 反编译工具有两种反编译方式,dex2jar和apktool,两个工具反编译的效果是不一样的,dex2jar反编译出java源代码,apktool反编译出来的是java汇编代码。dex2jar主要是用来把之前zip解压出来的classed.dex转成jar包的jd-gui主要是用来打开Jar包的2 本地客户端安全2.1 反编译保护2.1.1 问题描述APP源代码对于一个公司是非常重要的信息资源,对APP的保护也尤为重要,APP的反编译会造成源代码被恶意者读取,以及APP的逻辑设计,Ø 反编译方法我们一般想要反编译一个apk,无非就是想获得三样东西:图片资源、XML资源、代码资源一. 图片资源获取首先准备一个apk,这里是一个.apk后缀的文件,我们先把后缀改成,zip,打开zip文件在res目录下,我们就可以获取到我们需要的图片了。二. XML资源获取我们可以在刚刚打开的zip文件目录下看到很多.xml的文件,这个xml文件是无法直接打开的,当你尝试着打开的时候都是乱码或者是空白,那么我们要如何获取到这个xml资源呢,这时候就需要借助一个jar包,就是它,axmlprinter2.jar
  • 20元制作笔记本电脑防偷窥神器
    前言 有时候离开电脑忘记锁屏,就会担心电脑屏幕被家长、同事偷看。如何利用20元制作笔记本电脑防偷窥神器,我打算从硬件+软件来实现,这里需要你懂亿点点单片机的知识。如果光从软件上实现并不太现实,因为需要一直打开笔记本的摄像头。 硬件 硬件价格Arduino pro mini10热释电传感器7 Arduino pro mini是的价格在10-13元左右,人体红外传感器的价格在7-8元,硬件成本在20元。 软件 Arduino IDEPycharmpython3 原理 当人靠近电脑时,红外传感器检测到热体靠近,发送高电平到MCU,MCU与主机电脑利用串口通信,再利用主机摄像头对热体进行人脸识别,识别为人脸,则主机关闭屏幕,达到防窥视的目的。 安装库 pip install opencv-python pip install pyserial pip install itchat pip install apscheduler pip install baidu-aip Arduino程序 红外传感器的使用即程序,可以参考我之前的博文Arduino使用人体红外传感器,我们直接把程序烧录进Arduino上,不要忘了打开串口检测一下程序是否正常运行。 /* *richowe */ int sensor_pin = 2; int c = 0; void setup() { Serial
  • 锁定解锁事件iPhone(Lock Unlock events iphone)
    问题 如何在iPhone上检测锁定/解锁事件? 假设只有越狱设备才有可能,您能指出我正确的API吗? 通过锁定事件,我的意思是显示或隐藏锁定屏幕(可能需要密码才能解锁)。 回答1 您可以使用Darwin通知来监听事件。 根据我在越狱的iOS 5.0.1 iPhone 4上进行的测试,我认为您可能需要以下事件之一: com.apple.springboard.lockstate com.apple.springboard.lockcomplete 注意:根据发布者对我在此处回答的类似问题的评论,这也可以在不越狱的手机上使用。 要使用此功能,请为以下事件注册(此事件仅注册上述第一个事件,但您也可以为lockcomplete添加观察者): CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), //center (void*)self, // observer (can be NULL) lockStateChanged, // callback CFSTR("com.apple.springboard.lockstate"), // event name NULL, // object CFNotificationSuspensionBehaviorDeliverImmediately)
  • 在iOS 7上通过锁屏与其他应用相比检测应用何时处于活动状态(Detecting when app is becoming active from lockscreen vs other on iOS7)
    问题 从锁定屏幕变为活动状态(处于活动状态时被锁定)或从其他任何事物变为活动状态时,我的应用程序具有不同的行为。 在iOS 6及更低版本上,我可以检测到此问题 UIApplicationState state = [[UIApplication sharedApplication] applicationState]; if (UIApplicationStateInactive == state) // Coming from locked screen (iOS 6) else // Coming from Springboard, another app, etc... 但是在iOS 7上,两种情况下的状态值为UIApplicationStateBackground 。 这是预期的行为吗? 如何正确检测应用程序现在是否正在从锁屏启动? 注册开发者,在取消NDA之前,我已经在开发者论坛上发布了此信息,请参见此处 回答1 我能够弄清楚这一点,到目前为止看来是可靠的。 它只能在设备上运行,不能在模拟器上运行,并且已经在运行iOS 7的iPhone 5s,5和4S上进行了测试。 它似乎有检测在应用正在从iOS上推出7没有可能的方式,但有一种方法来检测,如果你要在锁屏VS跳板。 诀窍是在applicationDidEnterBackground读取屏幕亮度。
  • 系统更改屏幕亮度时,iOS是否发送通知?(Does iOS send notifications when the system changes the screen brightness?)
    问题 问题是,我的阅读应用程序有一个按钮,可将其置于黑暗主题模式。 亮度降低10%。 当用户返回正常模式时,它将恢复为记忆的亮度。 但是与此同时,实际的系统亮度可能会由于自动亮度调整或什至用户转到“设置”并在那里进行更改而发生了变化。 亮度属性的问题在于,您仅查询实际的屏幕亮度,而设置的内容只是暂时的,直到用户锁定屏幕为止。 解锁后,系统将恢复为系统亮度。 如果iOS在系统更改亮度时发送通知,将很有帮助。 在文档中找不到任何内容。 回答1 搜索UIScreenBrightnessDidChangeNotification ,它是UIScreen类的一部分。 在iOS 5.0及更高版本中可用。 回答2 如果要在再次解锁设备时将亮度重新设置为程序值,请观察UIApplicationDidBecomeActiveNotification通知,然后在选择器中将亮度重新设置为所需的级别。 我对整个亮度进行了更多的研究,这是我发现的: 仅当系统更改亮度或用户通过控制面板或设置更改亮度时,才调用UIScreenBrightnessDidChangeNotification 。 以编程方式更改亮度时不可以。 我从此处的此Apple Doc中假设(请参见下文)是,以编程方式设置亮度后,亮度将不再更改。 应用程序所做的亮度更改将一直有效,直到锁定设备为止,无论该应用程序是否关闭。 下次打开显示器时
  • android adb通过adb打开wifi [重复](android adb turn on wifi via adb [duplicate])
    问题 这个问题已经在这里有了答案: 如何通过亚行关闭Wifi? (13个回答) 2年前关闭。 我的手机已被锁定(尝试模式过多)。 要解锁,我需要在我的gmail帐户中输入用户名和密码。 这是我解锁它的唯一方法。 我无法启动任何活动,甚至无法打开wifi连接。 没有互联网连接,我无法登录以恢复手机。 也许adb中有任何命令可以打开我的wifi连接,所以我可以使用手机了吗? 回答1 这确实非常有效,而且非常简单 adb -s $PHONESERIAL shell "svc wifi enable" 回答2 可以通过更改settings.db来启用WiFi,如下所示: adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db update secure set value=1 where name='wifi_on'; 更改此设置后,您可能需要重新启动才能真正打开WiFi。 该解决方案来自一篇博客文章,该文章指出它适用于Android 4.0。 我不知道早期版本是否相同。 回答3 您可以打开wifi:-在PC上连接USB; -将显示警报对话框“连接UMS模式或KIES”-不要单击,不要取消-拉通知栏并打开wifi。 回答4 尝试以下对我有用的方法。 方法1:
  • 在Android中按用户检测锁定屏幕错误密码(Detect Lock Screen Incorrect Password by user in Android)
    问题 我正在构建一个安全应用程序,我需要知道用户是否输入了错误的密码。 假设用户手机被图案锁系统锁定,可惜用户忘记了图案密码。当用户输入5次错误的图案时,将受到30秒的惩罚。 我需要赶上那个惩罚事件。 在我的应用程序中,即使出现这种情况,我也必须执行一些任务(为了用户的安全)。 请帮我, 回答1 您可以设置一个DeviceAdminReceiver ,该通知将通知您密码尝试失败以及密码尝试失败后发生的密码尝试成功。 Android设备管理API的文档中对此进行了介绍。 请注意,在您获得这些事件之前,用户必须同意允许您的应用通过“设置”应用充当设备管理员。 此示例项目演示了侦听这些事件,以及设置密码质量策略。 关键部分是: DeviceAdminReceiver实现设备管理员元数据,说明您的应用程序需要哪些管理功能收件人在清单中的条目活动中的代码,以检测您的应用是否被批准担任设备管理员,如果没有,则将用户引导到“设置”中的位置进行更改 回答2 我在具有API级别22的android studio上做同样的事情。 但是什么也没发生。 它显示了一个错误-“正在安装com.example.sourav.myfirstapp设备外壳命令:pm install -r“ /data/local/tmp/com.example.sourav.myfirstapp” pkg:/data/local
  • 从应用程序“外部”检测应用程序是否已启动/恢复(Detect if an app is started/resumed from 'outside' the app)
    问题 我目前正在为应用程序设计功能,在这里我希望有一种通用的方法/方法来检测应用程序本身是从应用程序“外部”启动还是恢复。 在这种情况下,“外界”的意思是: 应用程序已通过启动器图标启动/恢复通过从导航栏/键中按“应用程序按钮”来启动/恢复应用程序(例如在nexus 7上) 应用已从通知启动/恢复应用已从“其他地方”启动/恢复 此功能的用例如下: 该应用程序具有“多用户能力”,可让用户为自己的数据创建一个或多个配置文件单个配置文件可能受到密码/密码保护,以“隐藏”来自该应用程序其他用户的数据,或“隐藏”来自该应用程序安装设备的其他用户的数据如果配置文件设置了密码,则在启动/恢复应用程序时,该应用程序将向当前用户显示某种锁定屏幕如果输入正确,则该应用将正常启动,显示上一次选择的配置文件的数据如果输入错误,则该应用程序将以“中性”配置文件开始或根本没有配置文件 我在网上搜索了一些想法,并仅在stackoverflow上找到了相关的帖子: 有什么方法可以从主屏幕上区分Android Activity onResume吗? Android-检测来自家庭或历史的应用程序启动确定是否从主屏幕启动了应用程序? 到目前为止,从我阅读和中学到的是,一个解决方案似乎比我想象的要复杂,并且没有开箱即用的解决方案。 我目前正在考虑基于时间戳的方法来实现此功能: 将时间标记设置为受影响活动的成员变量
  • 如何检测设备是Android手机还是Android平板电脑?(How to detect device is Android phone or Android tablet?)
    问题 我有两个适用于Android平板电脑和Android手机的应用程序。 对于平板电脑应用程序,我设置了android:minSdkVersion="11" 。 但是如今,像Galaxy S3这样的Android手机具有Android版本4.0.4,因此S3用户可以从Google Play商店下载我的平板电脑应用。 我想警告电话用户在安装平板电脑应用程序时下载电话应用程序。 反之亦然,平板电脑用户在运行手机应用程序时会下载平板电脑应用程序。 有什么简单的方法可以检测设备类型? 编辑: 我在此链接上找到了解决方案。 在清单文件中,您可以声明手机和平板电脑的屏幕功能,然后Google Play决定手机和平板电脑的下载权限。 回答1 用这个: public static boolean isTablet(Context context) { return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE; } 如果设备在大屏幕上运行,则返回true。 一些其他有用的方法可以在这里找到。 回答2 你也可以试试这个在资源文件中添加布尔参数。 在res / values
  • 如何以编程方式在锁定屏幕上设置快捷方式 [关闭](How to set shortcuts on lock screen programmatically [closed])
    问题 关闭。 这个问题需要更加集中。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑这篇文章来关注一个问题。 7年前关闭。 改进这个问题 我知道如何在主屏幕上设置快捷方式,但不知道如何在锁定屏幕上设置快捷方式。 有任何想法吗? 回答1 很少(如果有的话)Android 设备具有支持快捷方式的锁屏。 我有超过 50 台设备,来自所有主要制造商,但没有一个支持锁定屏幕上的快捷方式。 如果您碰巧有 Android 设备,请联系设备制造商并询问他们是否有 API 允许第三方应用程序在其锁定屏幕上放置快捷方式。
  • 有没有一种方法可以检查iOS设备是否已锁定/解锁?(Is there a way to check if the iOS device is locked/unlocked?)
    问题 我在应用程序中使用了GPS位置更新。 我想检测iOS设备是否处于睡眠模式,以便可以关闭GPS位置更新并优化电池使用。 我已经尝试过在iOS 6中进行pausesLocationupdates的操作,但是它并没有按要求工作。 我想在设备进入睡眠模式后立即关闭GPS位置更新。 我想检测设备中的锁定/解锁事件。 有什么方法可以实现此功能? 到目前为止,我收到了如下的达尔文通知 -(void)registerForall { //Screen lock notifications CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), //center NULL, // observer displayStatusChanged, // callback CFSTR("com.apple.iokit.hid.displayStatus"), // event name NULL, // object CFNotificationSuspensionBehaviorDeliverImmediately); CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), //center NULL, /
  • Android:如何以编程方式打开和关闭屏幕?(Android: How to turn screen on and off programmatically?)
    问题 在将此帖子标记为“重复”之前,我正在撰写此帖子,因为没有其他帖子可以解决该问题。 我试图关闭设备,然后在几分钟后或更换传感器后,将其重新打开。 关闭显示测试 我可以使用以下方法关闭屏幕: params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON; params.screenBrightness = 0; getWindow().setAttributes(params); 我无法使用wl.release()方法关闭屏幕。 开启显示测试 我的第一个猜测如下。 没有任何反应,屏幕保持关闭。 params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON; params.screenBrightness = -1f; getWindow().setAttributes(params); 然后,我也尝试使用唤醒锁,但没有成功。 PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "tag"); wl.acquire(); 最后,我尝试了以下操作,但没有结果。 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 总而言之
  • 一文看懂:Android Q版本在安全方面进行了哪些系统性改进
    一文看懂:Android Q版本在安全方面进行了哪些系统性改进 luochicun 嘶吼专业版 5月8日凌晨,2019年谷歌I/O开发者大会召开。谷歌下一代Android系统Android Q正式亮相,版本号是10.0。其实早在3月14日,谷歌就放出了Android Q的首个测试版。 那么,此次Android Q究竟都有那些功能上的更新?小编为大家提炼了如下11点: 1.暗黑模式 Android Q 的暗黑模式和 Android Pie 的暗黑模式不同,在 Android Q 中,暗黑模式适用于任何地方,如果应用不支持暗黑模式,那么系统将自动设置一个暗黑模式。 2.桌面模式 Android Q 将支持桌面模式,类似三星 Dex 和华为的投影模式。它提供类似一个类似于 PC 的体验。 3.隐私增强 Android Q 还将更多地使用 Android Pie 中推出的隐私功能。 在 Android Q中,用户可以选择应用程序在后台运行时是否可以访问该位置。此外,当应用程序使用您的位置数据、麦克风或摄像头时,用户在通知栏中看到相应的图标,它会告诉用户哪个应用程序正在使用该权限。Android Q 中还有一个新的专用隐私页面。它显示了用户的联系人、短信和其他敏感信息的应用程序的确切数量。如今对于 Google 来说,安全和隐私显得非常重要,Google 表示在 Android Q 中增加了
  • 在HTML5中检测iPad Mini(Detect iPad Mini in HTML5)
    问题 Apple的iPad Mini在更多方面比我们想要的要小一些,是iPad 2的较小版本。 在JavaScript中, window.navigator对象为Mini和iPad 2公开了相同的值。到目前为止,我检测到差异的测试并未成功。 为什么这很重要? 由于iPad Mini和iPad 2屏幕的像素相同,但是实际尺寸(英寸/厘米)有所不同,因此它们的PPI(像素/英寸)也有所不同。 为了使Web应用程序和游戏提供友好的用户界面,需要相对于用户的拇指或手指位置调整某些元素的大小,因此,我们可能需要缩放某些图像或按钮以提供更好的用户体验。 到目前为止,我已经尝试过的事情(包括一些非常明显的方法): window.devicepixelratio CSS元素宽度(以厘米为单位) CSS媒体查询(例如resolution和-webkit-device-pixel-ratio ) SVG图纸以相似单位在设定的时间内执行各种CSS Webkit转换,并使用requestAnimFrame渲染的帧进行计数(我希望能够检测到可测量的差异) 我没有主意。 你呢? 更新感谢您到目前为止的答复。 我想评论一下有人投票反对将iPad mini与iPad 2对抗,因为Apple拥有这一标准,可以指导人们对iPad mini的统治。 好的,这是我的理由,为什么我觉得知道一个人使用的是iPad