내 신청서에 BroadcastReceiver
을 사용하고 싶습니다. Activities
에 AsyncTask
결과 표시기가 있고 따라서 AsyncTasks
도 있습니다. 나는 나의 접근 방식이 약간 잘못되었거나 뭔가를 놓쳤다 고 생각합니다.BroadcastReceivers 사용에 관한 몇 가지 문제
여기 내가 무엇을하고 있는지 : 우선, onCreate
중에 registerReceiver
방법을 사용하여 수신자를 BroadcastReceiver
으로 등록했습니다. 나는 A와 B 활동을했습니다 내 응용 프로그램에서
protected BroadcastReceiver myReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String msg_for_me = intent.getStringExtra("some_msg");
Log.i("Tutorial", msg_for_me);
}
}
:처럼 내 수신기 보인다. 각각에는 서로 다른 작업에서 메시지를받는 여러 수신자가 있습니다. 그건 그렇고, 나는 B 액티비티를 시작하는 액티비티를 분명히해야한다.
나는 활동 A에서 수신자를 사용하고, 활동 A는 startActivity
을 사용하여 시작 B를 사용하고 있습니다. 활동 B에서 AsyncTask
을 실행 중이며 onPostExecute
에 B 활동의 상황과 함께 방송을 보내고 있습니다. 그러나 여하튼 아직도 활동의 수신기는 메시지를 얻고있다. 두 수신기는 모두 같은 내용이지만 이름이 다릅니다.
그래서 여기 내 문제입니다 :
- 해야하는 I
unregisterReceiver
내가onPause
방식에 새로운 활동을 시작했을 때? BroadcastReceiver
은 한 통화에 대해서만 사용하고 있습니까? 메시지를 보낼 때마다 다시 등록해야합니까?- 나는 어떤 수신기도
Manifest
으로 정의하지 않았 음을 확신한다. 나는 이것이 내가 잘못하고있는 것이라고 생각한다. 이것이 좋은 경우 방송을 보내는 동안 IntentFilter를 어떻게 사용할 수 있습니까?
불확실한 질문이 있으면 알려주십시오. BroadcastReceiver에 대한 단서는 훌륭하고 만족 스러울 것입니다.
에서 동일한. – VendettaDroid
답장을 보내 주셔서 감사합니다.하지만 여전히 B 액티비티의 수신기가 잘 작동하지 않습니다. B 액티비티의 컨텍스트를 사용하여 브로드 캐스트를 보내는 경우에도 액티비티의 수신자는 메시지를받습니다. 너는 어떤 제안이라도 있니? 그건 그렇고, 이것이 내 주요 문제입니다. 누군가가이 문제를 해결하자마자이를 받아 들일 것입니다. – Martin
활동 A와 B의 코드로 질문을 편집 할 수 있습니까?나는 그것에 더 많은 것을 도우려고 노력할 수있다. – VendettaDroid