当前位置: 首页 > 面试题库 >

我们是否可以检测用户是否在不听darwin通知的情况下通过主页按钮或锁定按钮离开了?

皮骏
2023-03-14
问题内容

我最近向应用商店提交了一个新的二进制文件,并将其发送进行审查,但立即被以下消息拒绝。“不支持的操作-
不允许应用监听设备锁定通知。”。经过一番挖掘,我发现我们无法使用“ com.apple.springboard.lockstate”来找出锁定状态。

本质上,我的应用程序需要知道用户如何离开我的应用程序。是否按下主页按钮,锁定按钮,通过敲击另一个应用程序的通知离开应用程序等?是否有任何方法可以实现?我开始调查我的应用程序是否在后台运行,也许我们可以检查应用程序状态以弄清楚它。就我所知,我想知道是否有人对此有所了解


问题答案:

在搜索了苹果公司的文档并挖掘了很多线程之后,我想我可能偶然发现了该html" target="_blank">解决方案。

据我所知,这是目前检测用户是否通过主页按钮或锁定按钮离开的唯一方法(我认为这在模拟器上不起作用,您必须在实际的电话上尝试一下)。

在此委托内部(并且仅在此委托中被调用时才起作用)

func applicationDidEnterBackground(_ application: UIApplication) {

}

您可以在此处调用此小片段:

func DidUserPressLockButton() -> Bool {
    let oldBrightness = UIScreen.main.brightness
    UIScreen.main.brightness = oldBrightness + (oldBrightness <= 0.01 ? (0.01) : (-0.01))
    return oldBrightness != UIScreen.main.brightness
}

用法:

func applicationDidEnterBackground(_ application: UIApplication) {
    if (DidUserPressLockButton()) {
        //User pressed lock button
    } else {
        //user pressed home button
    }
}

说明:

applicationDidEnterBackground用户离开锁定按钮(而不是主页按钮)时起,苹果似乎只能让您更改屏幕亮度。因此,其想法是以很小的量更改屏幕亮度,并检查是否可以更改它。这似乎有点怪异,但我
听说
这实际上按预期工作。就测试而言,它似乎在100%的时间内都有效。除了真正要更改屏幕亮度的用户外,我没有发现任何其他问题。我希望其他人可以找到一些不太骇人,更具体的东西。



 类似资料:
  • 问题内容: 有没有一种方法可以检测JavaScript中的鼠标按钮当前是否处于按下状态? 我知道“ mousedown”事件,但这不是我所需要的。按下鼠标按钮后的一段时间,我希望能够检测它是否仍被按下。 这可能吗? 问题答案: 关于Pax的解决方案:如果用户有意或无意地单击了多个按钮,则该按钮将不起作用。不要问我我怎么知道:-(。 正确的代码应如下所示: 通过这样的测试: 如果您想知道按下了什么按

  • 有没有一种方法可以使用收集器/interactionCreate来检测用户是否已经在特定消息上按下了特定按钮?我尝试的一种方法是将其保存在这样的数组中 但是机器人最终总是以“你已经投票”作为回应,那么有什么可行的方法来检查这一点呢?

  • 问题内容: 希望你能在这里帮助我!我想制作一个开关按钮,以打开每日推送通知功能。我怎么做? 开关按钮位于“设置”片段上 我的MainActivity.java: 片段Settings.java 的“ editor.getBoolean”给我无法解决错误! 我能做什么?: Notification_Reciever.java fragemnt_settings.XML: 谢谢!!希望你能帮我! ed

  • 由于这里的答案,我拥有了当前的设置。如何根据是否按下父按钮禁用子按钮?例如,Button2当前被禁用,但当我按下Button1时,我现在可以按下Button2,如果我按下Button2,Button3和Button4将被启用,现在可以按下。到目前为止,我的做法如下:声明一个布尔值: 单击按钮时将Enable从false更改为true: } 禁用除第一个按钮外的所有其他按钮,并且在按下按钮之前,由于

  • 假设有几个以编程方式创建的按钮,并且有一个通用的按钮处理程序。 如何理解处理器内部哪个按钮被按下? 而不在函数调用中传递一些特殊的东西。那不行:< code > onButtonClicked(" button " I); 例如,在JavaScript中,在处理程序内部有< code>$(this),它可以立即“理解”按下了哪个按钮。 也许在颤振中也有类似的机制?我想在按钮上挂起属性(事先不知道哪

  • 目前,我正在研究一个考勤应用程序的可行性,该应用程序具有为Android和iOS编写的以下功能。iOS-不能自动化。每次点击标签时,它都需要用户输入或单击。 然而,我没有很多关于Android NFC功能的谷歌搜索结果。我想在我的考勤应用程序中使用以下功能。 > 将员工ID写入标记或在员工记录中记录标记标识符(使用第三方应用程序) 考勤应用程序将安装和设置在Android手机上,并保存在塑料盒(考