0

Я хочу перейти к определенной активности после включения экрана с помощью WakefulBroadcastReceiver. экран правильно включается, но после этого он не выполняет никаких действий и даже не показывает какого-либо исключения.Как перейти к определенной активности после включения экрана с помощью WakefulBroadcastReceiver?

Следующий мой код.

AndroidManifest.xml

<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<receiver android:name=".Alarm" /> 

Java Файл

public class Alarm extends WakefulBroadcastReceiver { 

    @Override 
     public void onReceive(Context context, Intent intent) { 

     PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); 
     if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT_WATCH) { 
      isScreenOn = powerManager.isInteractive(); 
     } 
     else 
     { 
      isScreenOn = powerManager.isScreenOn(); 
     } 
     if(!isScreenOn) 
     { 
      PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK |PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.ON_AFTER_RELEASE,"Remind Me"); 
      wakeLock.acquire(); 
      Intent gotoIntent; 
      gotoIntent = new Intent(context, MainActivity.class); 
      gotoIntent.putExtra(ReminderActivity.EXTRA_REMINDER_ID, Integer.toString(mReceivedID)); 
      context.startActivity(gotoIntent); 
     } 
} 
+0

Ваш радиоприемник зарегистрирован в вашем файле манифеста? – GrIsHu

+0

@GrIsHu да, он зарегистрирован. –

ответ

0

Получил идеальный ответ на свой вопрос: я просто должен использовать gotoIntent.addFlags (Intent FLAG_ACTIVITY_NEW_TASK.) при создании замысла

Intent gotoIntent; 
    gotoIntent = new Intent(context, MainActivity.class); 
    gotoIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    gotoIntent.putExtra(ReminderActivity.EXTRA_REMINDER_ID, Integer.toString(mReceivedID)); 
    context.startActivity(gotoIntent); 
Смежные вопросы