クラスの 1 つからブロードキャストを送信しています。
// Sending broadcast from my db helper constructor
public DBHelper(Context ctx){
this.ctx = ctx;
Intent intent = new Intent();
intent.setAction("custom.alert.abc");
intent.putExtra("key",77);ctx.sendBroadcast(intent);
//registering the broadcast in one of my activities oncreate
IntentFilter alaramfilter = new IntentFilter();
alaramfilter.addAction("custom.alert.abc");
registerReceiver(alarmreceiver, alaramfilter);
//and declaring it
private final BroadcastReceiver alarmreceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("Broadcast received inside on receive");
final String action = intent.getAction();
if(action.equals("custom.alert.abc")) {
Log.d("CPSnippetMain","My custom broadcast called");
try {
System.out.println("Broadcast received");
} catch (Exception e) {
e.printStackTrace();
}
}
}
};
問題は、コンストラクターが呼び出され、ブロードキャストが送信されても、onreceive が呼び出されないことです。
どんな助けでも大歓迎です。