Я хочу получить широкий листинг, когда экран отключен в android. Я написал следующий код. Это код получателя.Экранный приемник Broadcast не работает
@Override
public void onReceive(Context context, Intent intent) {
helper = new FeedReaderDBHelper(context);
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
System.out.println("Screen Off Receiver just received something");
if(helper.getValue(FeedReaderContract.FeedEntry.onlock).equals("YES"))
{
helper.lockAll();
wasScreenOn = false;
}
else if(helper.getValue(FeedReaderContract.FeedEntry.onLock3).equals("YES"))
{
System.out.println("Running 3 minutes thread");
Runner runner = new Runner(context);
Thread t = new Thread(runner);
t.setName("LockThreeThread");
t.start();
}
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
// and do whatever you need to do here
wasScreenOn = true;
}
}
Я регистрирую и отменяю регистрацию получателя в Службе. Код выглядит следующим образом.
приемник в РЕГИСТРАЦИЯ onStartCommand методом
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
isScreenOn = pm.isScreenOn();
RegisterReceiver();
//Toast.makeText(getApplicationContext(), "Service Started", Toast.LENGTH_SHORT).show();
//System.out.println("StartRemove");
helper = new FeedReaderDBHelper(this);
names = helper.getNames();
Thread t = new Thread(new Runnable() {
@Override
public void run() {
startChecker();
}
});
t.start();
return START_STICKY;
}
И это, как я разрегистрировать в OnDestroy метода обслуживания.
private void RegisterReceiver()
{
receiver = Factory.getScreeReceiver();
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
registerReceiver(receiver, filter);
}
Пожалуйста, дайте мне знать, что может быть проблемой. Я долго врывался в нее. Последние два дня были потрачены впустую на это. Ничто не работает.
Используйте цвет фона с альфа –
Где вы начинающей услугу от? Является ли Activity, запуск которой начинается с начала запуска? –
@TharakaDevinda Я запускаю услугу из основного вида деятельности и да работает и работает сервис. –