ネットワークアプリケーションを作成していますが、アプリケーションがバックグラウンドで実行されている場合、アクティビティの開始に問題があります。一部のデータがネットワークに到達したときにアクティビティを開始したいと思います。私のアクティティAaにはレシーバーがあり、サーバーから応答を受信すると、アクティビティBを実行する必要があります。ただし、アプリがバックグラウンドで実行されている場合、アクティビティBが起動せず、metod onCreate()が実行されません。ユーザーがアプリに戻ったときにのみ実行されます。しかし、それは本当に私が望んでいることではありません。アクティビティBではタイマーを開始する必要があり、GPSやその他の作業を有効にする必要があります。それに加えて、アクティビティBもいくつかのデータを受信し、Bが存在しない場合、この受信者は何も受信しません。IntentServiseを試しましたが、機能しませんでした。結果は、彼がいない場合と同じです。何か案は?情報をありがとう:-)
2 に答える
0
onDestroy メソッドで登録を解除している場合など、アプリがバックグラウンドのときにレシーバーがインテントを取得していない可能性があります。マニフェストでブロードキャスト レシーバーを宣言してみてください。ブロードキャスト レシーバー クラスでは、starActivity を使用してアクト B を呼び出します。これは私にとってはうまくいきます。
それでも問題が解決しない場合は、質問を明確にするためにソース コード (インテントを操作している関数など) を提供する必要があります。
于 2012-05-17T11:22:49.920 に答える
0
アクティビティをバックグラウンドから強制的に戻すことはできません。ステータス バーを使用して、ユーザーへの通知を表示できます。また、これはモバイル デバイスであり、誰かが会話の途中で使用したり、車のナビゲーションとして GPS を使用したりできることも考えてください。
于 2012-05-17T11:23:12.600 に答える