java本地广播管理器使用主活动未接收到的警报
我已经实现了一个报警管理器,它工作得很好,每15分钟就会触发一次。现在我想使用闹钟每隔15分钟调用一个MainActivity
方法。因此,我使用本地广播公司向MainActivity
(知道这是我手机上当前运行的活动)发送启动该方法的命令。但问题是,MainActivity
没有通过onReceive方法接收数据
警报
@Override
public void onReceive(Context context, Intent intent) {
cont = context;
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
wl.acquire();
String url = intent.getExtras().getString("url");
Log.w(TAG, "Service " + url);
new GetJSON_val(){
@Override
protected String[] doInBackground(String... url) {
Some Code...
@Override
protected void onPostExecute(String[] result) {
Some Code...
// I send the broadcast to main Activity
Log.e("sender", "Broadcasting message");
Intent intent = new Intent("custom-event-name");
intent.putExtra("message", "This is my message!");
LocalBroadcastManager.getInstance(cont).sendBroadcast(intent);
}
}
}
}.execute(url);
// End of alarm code
wl.release();
}
主要活动
@Override
public void onCreate(Bundle savedInstanceState) {
...
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
new IntentFilter("custom-event-name"));
...
}
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Get extra data included in the Intent
String message = intent.getStringExtra("message");
Log.e("receiver", "Got message: " + message);
}
};
本地广播是在报警类中用postExecute
方法创建的
共 (0) 个答案