2011-11-14 13 views
3

Androidのブロードキャスト受信機に問題があります。私はログインページを持っており、成功したログインの後、アプリは別のアクティビティに行きます。そしてそれは放送受信機を含んでいます。別のサービスがその行動を完了すると、私は放送を送信しています。アプリは幸せな日のシナリオでうまく動作します。アプリがバックグラウンドのときにAndroidブロードキャストレシーバー

私のユーザー名/パスワードを入力してログインボタンを押した後、私はこのアプリをバックグラウンドに送ります。しかし、アプリがバックグラウンドで放送受信機が私が送信している放送を受け取ることはありません。

誰かがこの問題に関するヒントを持っていますか?

ご協力いただければ幸いです。 ありがとうございます。

+0

た活動? – Sam

+0

私は2番目のアクティビティの作成メソッドでブロードキャストレシーバを登録しました。 2番目のアクティビティはログインページの後を意味します。 (このアクティビティの変更は、アプリがバックグラウンドのときに行われます) – nala4ever

+0

マニフェストにBrodcastを登録してください –

答えて

5

あなたは、onPause/OnStop/OnDestroyメソッドのいずれかのアクティビティでブロードキャストレシーバの登録を解除しましたか?はいの場合、放送を受信しません。 AndroidManifestにブロードキャスト受信機を登録していることを確認してください。登録されていません。インテントをバックグラウンドで受信したい場合は、登録を解除しないでください。

+1

マニフェストのブロードキャストを登録しました:) thanks drax – nala4ever

+0

マニフェストのブロードキャストを登録すると.... –

+0

このソリューションはlocalbroadcastmanagerでも機能し、ブロードキャスト受信機をフラグメントで使用する場合のソリューションです。 onpause/ondestroyが呼び出されています。 –

0

ログインボタンを押した直後に別のアクティビティで別のサービスを開始していますか? サービスはバックグラウンドで実行するエンティティなので、

答えが「はい」の場合は、ログインボタンを押したときにアプリケーションをバックグラウンドで送信する可能性があるため、アクティビティのライフサイクルをチェックすることを検討する必要があります。さて、この時点で、アクティビティはonPauseに挿入されます。したがって、2番目のアクティビティはアクティブではなく、その結果、サービスに電話をかけることはできません。

私はそれはあなたがあなたの問題を解決するのに役立ちます望ん:)

関連する問題