Ваше решение работает нормально, за исключением случаев, когда приложение установлено после отправки 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); 

   }    

Ответы на вопрос(4)

Ваш ответ на вопрос