Подтвердить что ты не робот

Как использовать putExtra() с FLAG_ACTIVITY_REORDER_TO_FRONT в приложениях для Android?

У меня есть приложение, назовите "App1". В приложении App1 я вызываю приложение Camera.

intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.android.camera","com.android.camera.Camera"));
startActivity(intent);

После этого я использую FileObserver, чтобы прослушать, снимает ли пользователь фотографию. Когда это произойдет, я вызываю

Context ctx = App1.this.getApplicationContext();
Intent j = new Intent(ctx, App1.class);
j.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
j.putExtra("type", 1);
startActivity(j);

Это работает, я имею в виду, что оно выводит мое приложение на передний план, как я его оставляю, однако мне нужно передать целое число, которое называется "type". Я думаю, мое приложение будет называть "onResume()", но как я могу получить это дополнительное целое число. Этот тип передачи ничего не сделал в моем приложении.

Там Bundle savedInstanceState в методе onCreate, но в методе onResume такой функции нет. Итак, мне нужна ваша помощь для решения этой проблемы. Спасибо заранее.

4b9b3361

Ответ 1

Вам необходимо переопределить метод Activity.onNewIntent().

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    setIntent(intent);
}

После вызова onNewIntent() будет выполняться нормальный onResume() жизненный цикл. Кроме того, вы можете написать свой код в onNewIntent().