BroadcastReceiver.onReceiveメソッド内で実行されるアクションには時間制限が定義されていますか?Android:BroadcastReceiver制限時間
答えて
onReceive()
は、UIを駆動するスレッドと同じメインアプリケーションスレッドで呼び出されます。通常、UIがフォアグラウンドにある場合に備えて、onReceive()
がミリ秒で戻ってくるようにして、UIをフリーズしないようにします(a.k.a.、「jank」)。 5〜10秒の制限もあり、その後Androidは基本的にアプリをクラッシュさせます。
しかし、バックグラウンドスレッドを確実にonReceive()
からフォークすることはできません。一度onReceive()
が返され、フォアグラウンドにいない場合はプロセスが終了する可能性があります。
マニフェストに登録された受信者の場合、典型的なパターンは、onReceive()
に独自のバックグラウンドスレッドを持つIntentService
に作業を委任し、サービスであることをOSに通知します。プロセスを少し長く実行してください。
[こちら](http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html#asynchronous-processing)をチェックしたので、ブロードキャスト受信機で長時間実行されるバックグラウンドタスクのためにgoAsync()メソッドを呼び出すことができます。これにあなたのコメントがありますか? – VSB
@VSB:私はむしろ 'IntentService'アプローチを使用したいと思います。これは、作業中にデバイスが起きていることを確実にする必要がある場合に特に当てはまります。そのためのパターンには 'WakefulBroadcastReceiver'と' IntentService'が必要です。あなたが望むならば、あなたは 'goAsync()'を試してみることを歓迎します。 – CommonsWare
私はあなたの 'Androidプログラミングチュートリアル'からアンドロイドを学びました。私はその時からこの時間制限について心に何かを持っていました! – VSB
- 1. Googleクローラの時間制限
- 2. ユーザーログインの時間制限
- 3. php/mysqlの時間制限
- 4. Java EventHander制限(時間)
- 5. nginx auth_basic時間制限
- 6. whileループ制限時間
- 7. セロリのタスクタイムアウト/ウィンドウの時間制限?
- 8. シェルスクリプトは、制限時間を設定し、
- 9. Google App Engineの「バックグラウンドスレッド」の制限時間
- 10. 評価のHaskellの時間制限
- 11. レディスの時間制限付きリスト
- 12. AgendaViewでfullcalendarの時間制限レンダリング
- 13. cronの時間制限の回避策
- 14. 1時間あたりのリクエスト制限
- 15. 時間制限付きios機能
- 16. HttpAccessTokenRefreshError:invalid_grant ... 1時間制限のリフレッシュトークン
- 17. Sconsコマンド(制限時間あり)
- 18. Oracle/ASPX問合せ時間の制限
- 19. OWLの時間範囲制限
- 20. didReceiveNotificationRequest:withContentHandler - 実行時間の制限?
- 21. Android:BroadcastReceiver SMS_RECEIVED
- 22. POSTFIX - 時間間隔でユーザーが送受信を制限する
- 23. swift uitextview制限時間2時に改行数が
- 24. 同時ダウンロード制限
- 25. リモートアップロード時の制限
- 26. Appceleratorでビデオの録画時間と録画時間を制限する方法
- 27. In Rails/Formtastic時間入力フィールドで時間を制限するには
- 28. Android:BroadcastReceiver on applicationインストール/アンインストール
- 29. Javaの問題の時間制限は、問題をコーディング問題
- 30. 実行時間を制限するJavaのスレッドのサンプル
時間制限はどういう意味ですか?通常、BoradcastReceiversはすぐにブロードキャストを受信します。 – Opiatefuchs
@Opiatefuchs CommonsWareの回答で詳細を見ることができます。 – VSB