Я приемник вещания:Android: BroadcastReceiver знать с помощью кода, когда экран вкл/выкл
public class ScreenReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
//Do something
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
Intent start=new Intent(context,MainActivity.class);
context.startActivity(start);
}
}
}
И, в моей деятельности, в OnCreate():
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
ScreenReceiver mReceiver=new ScreenReceiver();
registerReceiver(mReceiver, filter);
проблема в том, что когда отображается моя активность, приемник правильно выполняет действие, но когда он находится в фоновом режиме, иногда ничего не происходит.
В чем может быть проблема?
Смотрите ответ на этот пост тоже: http://stackoverflow.com/questions/7890363/broadcastreceiver-and-paused-activity – Trinimon