2011-05-15 8 views
0

ストップウォッチから発信されるタイムドイベントに基づいて通知/アラートをユーザーに送信したいと考えています。ロジックはJavaScriptで、アプリケーションはiPhoneのPhoneGapで動作します。アプリケーションをバックグラウンドで使用するときのJavaScriptからの通知/警告の発行方法 - PhoneGap iPhone/iOS

問題:アプリケーションがバックグラウンドにあるとき、iPhoneはiPhone/iOS上のwebviewでJavaScriptの実行を一時停止します。

たとえば、を使用してネイティブのアラートダイアログをトリガーします。 PhoneGapのnavigator.notification.alert()は、警告がバックグラウンドで呼び出されていないため失敗します。

どうすれば効率的にこれをUILocalNotificationなどと組み合わせることができますか? - サンプル/プラグインは利用できますか?

答えて

0

一般に、iOSでは、バックグラウンドオーディオ、位置情報サービス、またはVOIPを実行していない限り、長時間実行されるバックグラウンドタスクは許可されません。

アプリがバックグラウンドに入ると、少し時間がかかることがありますが、タスク完了(beginBackgroundTaskWithExpirationHandler)を使用してロジックを実行し続けることができます。しかし、iOSはまだ約10分後にタスクを終了します。

もう1つの方法は、UILocalNotificationを使用してすべてのタイムイベントを事前にスケジュールすることです。 128イベントをスケジュールすることができ、それぞれにオプションの繰り返し間隔があります。ここでは、Appleのドキュメントからのサンプルコードは次のとおりです。

// Create a new notification. 
UILocalNotification* alarm = [[[UILocalNotification alloc] init] autorelease]; 
if (alarm) 
{ 
    alarm.fireDate = theDate; 
    alarm.timeZone = [NSTimeZone defaultTimeZone]; 
    alarm.repeatInterval = 0; 
    alarm.soundName = @"alarmsound.caf"; 
    alarm.alertBody = @"Time to wake up!"; 

    [app scheduleLocalNotification:alarm]; 
} 

http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

関連する問題