2
onReceive 메서드가 호출되지 않는 이유를 알지 못합니다. 나는 모든 예를 온라인으로 따라 왔으며이 사이트에서 비슷한 질문을 많이 쳐다 보았다. 어떤 아이디어? 내가 놓친 게 있니?BroadcastReceiver onReceive()가 작동하지 않음
public class MainActivity extends Activity {
public BroadcastReceiver myReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("Receiver", "Receiving message");
String action = intent.getAction();
String message;
if (action.equals(BUTTON_ACTION)) {
message = intent.getStringExtra("BUTTON");
Log.d("R", message);
}
}
};
String BUTTON_ACTION = "button";
@Override
protected void onResume() {
super.onResume();
LocalBroadcastManager.getInstance(this).registerReceiver(myReceiver,
new IntentFilter(BUTTON_ACTION));
}
@Override
protected void onPause() {
super.onPause();
LocalBroadcastManager.getInstance(this).unregisterReceiver(myReceiver);
}
이 시점에서 버튼을 누르면 로그가 표시됩니다. 하지만 onReceive 메서드는 절대로 수신자에게 전달되지 않습니다.
public void button1(View view) {
Log.d("sender", "Broadcasting message");
Intent broadcastIntent = new Intent();
broadcastIntent.setAction(BUTTON_ACTION).addCategory("Button Press")
.putExtra("BUTTON", "Button 1 has been pressed.").addFlags(Intent.));
LocalBroadcastManager.getInstance(this).sendBroadcast(broadcastIntent);
}
}
는 너무 브라이언 감사합니다. 그것은 트릭을했다. – user2588287