私は何かをするasynctaskを持っています。asynctasksからのブロードキャストの送信
通常、私はやります:context.sendBroadcast(new Intent(MYINTENT));
しかし、asynctaskにはコンテキストがありません。私は、この質問に対するいくつかの答えを見て、アプリケーションのアクティビティのコンテキストをasynctaskに送ることを提案しました。ユーザーが画面を回転させるとその参照は悪いものになります。参照を手動で維持することは悪い解決策です(私が制御しないasynctaskを作成するアクティビティから多すぎる必要があります)。今質問は次のとおりです:
1)なぜAndroidはそれほどセットアップされていますか?ブロードキャストを登録して他のコンテキストで処理できるときに、ブロードキャストを送信するコンテキストが必要なのはなぜですか?
2)この問題の解決策はありますか? (良い= asynctaskを作成するアクティビティから可能な限り少ないものを要求し、ローテーションなどを生き残ります。)
'Activity.getApplicationContext()'を使用して、Application Contextを 'AsyncTasnk'に渡します。アプリコンテキストは画面回転の影響を受けません。そのため、参照は潜在的なローテーション後も有効です。 – Paul
@Paulも技術的な問題を解決します。ありがとうございます。私が放送を送るために文脈を必要としているのはなぜかと思っています(設計の立場から)。 – Oren