В принципе, это то, что я делаюПочему мой onResume называется дважды?
1) Установить AlarmManager выполнить BroadcastReceiver (BCR)
Intent intent = new Intent(m_Context, BCR.class);
intent.putExtras(extras);
PendingIntent pendingIntent = PendingIntent.getBroadcast(m_Context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, StartTime, pendingIntent)
2) Запустить MyActivity от BCR
@Override
public void onReceive(Context context, Intent intent) {
Intent newIntent = new Intent(context, MyActivity.class);
newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(newIntent);
}
3) Есть MyActivity поворот на экране, если его нет на
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(LayoutParams.FLAG_TURN_SCREEN_ON);
setContentView(R.layout.myactivity);
}
@Overide
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
}
Для некоторых Причина, я заметил, что правильно, когда открыт MyActivity, это поток идет как:
OnCreate/onNewIntent -> onResume -> OnPause -> onResume
Я не знаю, почему он делает OnPause сразу. Я замечаю, что это происходит только тогда, когда экранирование включается флагами. кто-нибудь знает, почему это произошло? Можно ли предотвратить такое поведение?
Является ли ваша деятельность определенной ориентацией, такой как портрет или пейзаж? – twaddington
Экран «Ориентация» установлен в портрет для MyActivity в манифесте. –