簡體   English   中英

在鎖定iOS設備的同時保持應用程序運行?

[英]Keep app running while iOS device locked?

我有一個可以大量使用視頻的應用程序。 在一個典型的用例中,我將iPad連接到外接顯示器。 我只希望外接顯示器打開; iPad顯示屏不需要一直保持打開狀態。

理想的情況是某人連接到外部顯示器,然后鎖定他們的iPad。 但這暫停了我的應用程序。 (當前,我正在調用setIdleTimerDisabled以防止iPad鎖定並暫停我的應用程序。)

我想為用戶提供鎖定iPad的選項,但仍然可以讓我的應用程序運行並向視頻發送圖像。 (注意:我並不是在說我的應用程序不在前台時要保持運行。我只想在應用程序在前台時保持運行,但設備已鎖定。)

這可能嗎?

我會說不,這是不可能的。 原因如下:

文檔閱讀:

按下“睡眠/喚醒”按鈕是另一種類型的中斷,會導致您的應用暫時停用。 當用戶按下此按鈕時,系統禁用觸摸事件,將應用程序移至后台,但將應用程序的applicationState屬性的值設置為UIApplicationStateInactive (與UIApplicationStateBackground相對),最后鎖定屏幕。

在上面的文檔中需要注意的有趣一點是,在“發生中斷時該怎么辦”下,Apple建議您停止執行某些任務。

為響應此更改,您的應用程序應在其applicationWillResignActive:方法中執行以下操作:

  • 停止計時器和其他定期任務。
  • 停止所有正在運行的元數據查詢。
  • 不要啟動任何新任務。
  • 暫停電影播放(通過AirPlay播放時除外)。
  • 如果您的應用是游戲,請進入暫停狀態。
  • 節流返回OpenGL ES幀速率。
  • 掛起執行非關鍵代碼的所有調度隊列或操作隊列。 (您可以在不活動時繼續處理網絡請求和其他對時間敏感的后台任務。)

這告訴我,蘋果不希望或期望您的應用在這種狀態下能做很多事情,除了准備充分使用背景知識外。

在相關說明中,以下是一個線程,該線程顯示如何確定您是否已按下“睡眠/喚醒”按鈕:

是否可以區分鎖定設備和將應用發送到后台?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM