Ваше решение работает нормально, за исключением случаев, когда приложение установлено после отправки ACTION_SCREEN_OFF - например, когда приложение установлено с выключенным экраном.
знать, находится ли телефон в режиме сна / ожидания для Android?
Моя проблема в том, что я могу разбудить телефон из режима сна с помощью диспетчера тревог
Но когда телефон не находится в спящем режиме и в одно и то же время, если менеджер будильника используется для пробуждения телефона ... приложение Android закрывает приложение.
есть ли вообще способ узнать, находится ли телефон в режиме сна или в режиме ожидания? (черный экран)
Обновить:
Мое требование:
Когда телефон находится в спящем режиме ---> из службы следует запустить намерение Когда телефон не находится в спящем режиме -> то же самое намерение следует запустить из службы
Ни одно из приведенных ниже решений не работало идеально, так что вот мой маленький твик, который работал отлично :) :)
//Pending intent for my alarm manager
Intent intentaa=new Intent(this,MyBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intentaa, 0);
//Intent to be launched where MyIntent is the intent
Intent intenta = new Intent();
intenta.setClass(this, MyIntent.class);
intenta.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//Real code
try
{
startActivity(intenta);
}catch(Exception E)
{
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,SystemClock.elapsedRealtime(),
pendingIntent);
startActivity(intenta);
}