如何检测 Apple Watch 屏幕截图事件/数字表冠 + 侧边按钮按下?

Bra*_*m-N 5 screenshot ios swift watchkit

例如,当用户同时按下数字表冠和侧面按钮(又名截屏)时,本机锻炼应用程序和 Sportstracker 能够暂停锻炼。

我需要这样的东西,但我在文档或网上其他地方找不到任何有关它的信息。对于 iOS,有“notificationUIApplicationUserDidTakeScreenshot”,但这在 watchOS 上不起作用。

有人知道怎么做吗?它是公开可用的还是私有 API?是我看起来不够好吗?

ric*_*ter 5

我还没有尝试过这个,但是通过深入研究 HealthKit 文档,它看起来像:

  1. 无论如何,你大概都得HKWorkoutSession进行锻炼,对吧?它需要HKWorkoutSessionDelegate处理它的状态变化等等。

  2. 当用户同时按下侧面按钮和 Digital Crown 时,您的代理应该收到workoutSession(_:didGenerate:)回调,相应的事件类型甚至为pauseOrResumeRequest。(他们可能会也可能不会获得屏幕截图,但这超出了您的控制范围。)

  3. pause(_:)您可以通过调用来处理用户的暂停请求HKHealthStore