アプリがインストールされたときに開始され、アプリがバックグラウンドにあるときでも実行され続けるタイマーを作成する方法を見つけようとしています。私は基本的にタイマーを使用して、電話にリンクされている外部デバイスのバッテリー寿命を定期的にチェックしています。これを行うための最良の方法は、タイマー関数へのある種のデリゲート呼び出しを使用することであると言われましたが、私はIOSにかなり慣れておらず、その方法についてかなり混乱しています。タイマーを設定してバッテリーの寿命を延ばす方法は知っていますが、タイマーをアプリの寿命まで維持する方法に戸惑っています。あなたが与えることができるどんな助けでも非常にありがたいです!本当にありがとう!
3 に答える
4
アプリをバックグラウンドで(永久に)実行することはできません。
ただし、アプリの実行中に...メソッドのパラメーターをに設定できrepeats
ます。scheduledTimerWithInterval:target:selector:userInfo:repeats:
YES
これは、比較的大きなタスクを実行するために一定期間バックグラウンドで実行するためのリンクです。
于 2012-07-13T00:53:43.453 に答える
1
アプリがバックグラウンドにある場合でも実行
ありえない。追加の10分をリクエストできますが、それだけです。アプリをそのまま作成することはできません。
あなたの質問のタイマー部分については、これを行うことができます:
[NSTimer scheduledTimerWithTimeInterval:60.0
target:self
selector:@selector(checkBattery:)
userInfo:nil
repeats:YES];
ただし、実際には、バッテリー交換イベントの通知をサブスクライブする必要があります。これは、その方法を示すアップルのサンプルコードです。
于 2012-07-13T00:50:01.090 に答える
0
コニーベアは正しいです。これはiOSのポリシーであり、あなたがやろうとしていること、つまりiPhone(またはiPad)のバッテリー寿命を使い果たすことを防ぐために正確に実施されています。
于 2012-07-13T00:53:42.330 に答える