2012-02-14 17 views
0

私のアプリでプッシュ通知を使用しました。電話がスタンバイモードになっていると、それはnotification.Contradictionがスタンバイでかつ迅速でアプリがそれを交換してロックを解除するときということであるプッシュ受信したときにプッシュ通知中にスタンバイ状態でアプリを起動する

  1. マイアプリは自動的にない起動を行います。そして、私はこれに関する二つの質問を持っていますアプリを起動しますが、後でスワップすると2-3分後にアプリが自動的に起動しません。どのように毎回起動することが可能にするには?

  2. プッシュ通知中の振動時間を長くしたい。現在、1秒間ほとんど振動しません。

答えて

0

1)スリープ/スタンバイの概念はそれほど複雑ではありません。ユーザーがアプリケーションを終了すると(ホームボタンを押すと)、アプリケーションは停止してフリーズ状態(4.x)になるか、完全に終了します(3.x)。それにもかかわらず、後者が- (void)applicationWillTerminate:(UIApplication *)applicationメソッドで発生する前、前者が- (void)applicationDidEnterBackground:(UIApplication *)applicationメソッドで発生する前に、いくつかのクリーンアップ操作を行う機会が与えられます(両方ともデレゲートクラスで呼び出されます)。 「スリープ」の概念は、iPhone OS 3とiOS 4の両方で、アプリがフォーカスを失ったとき(またSMSが届いたときや警告など)、次の方法を受け取ることを意味します:

- (void)applicationWillResignActive:(UIApplication *)application

実際、ほとんどのアプリケーション(voip、オーディオストリーミングなどのバックグラウンドで動作するように設計されたアプリケーションを除く)は、単に終了するだけで終了します。しかし、必要な場合は、アプリのフリーズを中断して、タスクを完了するためにもっと時間を要請することもできます。

2)振動時間は公式APIで変更することはできません。

ループ内でAudioServicesPlaySystemSound(kSystemSoundID_Vibrate);を複数回呼び出すか、NSTimerを使用して呼び出すことができますが、これはお勧めできません。バッテリーが消耗し、デバイスがテーブルから落ちる可能性があります。ちなみに、アップルは、あなたが適切に振動を使用していないと考えれば、あなたのアプリを拒否することができます。

+0

答えをいただきありがとうございます。ポイント1の回答に答えて、どのようにしてタスクを完了するまでに時間を要することができますか?また、アプリがバックグラウンドに入るときに関係なく、いつでも通知を受け取ることができるので、私は時間を尋ねると時間が掛かります。私には分かりません。 –

+0

apple docsはアプリが終了した後ユーザーは、保留中のタスクを完了するまでに10分かかる。その後、そのアプリケーションのすべてのリソースが中断されます。ここをクリックして詳細を確認してください - http://stackoverflow.com/questions/8861390/ios-background-downloads-when-the-app-is-not-active –

+0

Ok.But私は単に私のアプリを起動させることができます知りたいのですがプッシュ通知のすべての条件(つまり、すぐに掃引画面と通知のいくつかの時間後に掃引画面)。私のアプリはちょうどすべてのことです "(このタスクはアラームとしてローカルに設定され、私はプッシュ通知aaアラームを使用しています)..... plsのヘルプ –

関連する問題