1

申し訳ありませんが、私はiPhone開発に不慣れで、Google検索が失敗したため、SOにばかげた可能性のある質問を投稿する必要がありました。

中断されたときに、ユーザーがホームボタンまたは電源ボタンを押したときにアクションを実行するアプリを作成したいと思います (おそらく電話のロックを解除するため)。iOS App Programming Guide のApp States and Multitaskingのセクションを読み、 「Processing Queued Notifications at Wakeup Time」では、ウェイクアップ時のキュー イベントの処理について説明しています。しかし、これは私が求めているものではありません。

次のことが可能かどうかを知りたいです。

  1. 電話のスリープ状態から (電話の状態に関するドキュメントが見つからなかったので、ユーザーが電源ボタンを押して画面をオフにする場合について話している)、アプリが応答できるようにしたいと考えています。ユーザーが電源ボタンまたはホーム ボタンを押すイベント (電話のロックを解除するため)
  2. ユーザーが電話のロックを解除したときに発生するイベントにアプリが応答するようにしたいと考えています。ここで近い答えを見つけました。
  3. 電話がかかってきたとき、無視されたときなど、ファンキーさは望んでいません:)

私が知る限り、ロックとロック解除に関する API は非常にグレーな領域であり、これを行うために時間を無駄にしているかどうかを確認したいと思います。

加速度計を使用して電話がロックされていることを検出できるように見えますが、iOS の将来のすべてのバージョンでこの動作を期待することはできないと思います。

編集 - 電話がロックおよびロック解除されたときにアプリケーションが実行されている必要があると仮定することで、ロックおよびロック解除の要件を処理できると思いますが、上記の #1 を判断できるかどうかはまだわかりません。電源ボタンが押され、ロック解除画面が表示されました。同様に、電源ボタンがもう一度押されて表示されなくなった (つまり、画面がオフになっている)かどうかを知りたいです。

4

1 に答える 1

0

アプリが一時停止/バックグラウンド化されている場合のすべての動作は、参照したドキュメントに記載されています。AppDelegate はこれらのメッセージを受け取り、リッスンしたいビューに渡します。

-applicationWillTerminate
-applicationWillEnterBackground
-applicationDidBecomeActive
-applicationWillResignActive

これらのイベントのいずれかをビューに通知したい場合は、ビューに通知オブザーバーを設定できます。次に、それらをオーバーライドするか、カスタム メソッドを設定して、必要な作業を実行します。

Apple のドキュメントは最初は少しわかりにくいかもしれませんが、アプリがどの状態になり、どのように処理されるかを知るために、すべての情報がそこにあります。これらの各イベントに対してアプリが何をする必要があるかを理解するのはあなた次第です。お役に立てれば。

于 2012-06-18T16:15:23.953 に答える