Я задавался вопросом, действительно ли возможно создать несколько экземпляров единственного Действия в Android?
Я в настоящее время запускаю свой собственный экран inCall для Теста Voip при помощи следующего кода:
public void initInCallScreen(String pName, String phoneNumber, int contactID, boolean
callDirection, int lineID){
//starts in callScreen dialog
final Intent myIntent = new Intent(context, CallDialogActivity.class);
myIntent.putExtra("NAME", pName);
myIntent.putExtra("NUMBER", phoneNumber);
myIntent.putExtra("ID", contactID);
myIntent.putExtra("CALLTYPE", callDirection); //True = Incoming, False = Outgoing
myIntent.putExtra("LINEID", lineID);
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
Это позволяет мне запускать прекрасное Действие.
Однако, когда я называю его в течение секунды, это просто возвращается к Действию, уже созданному вместо того, чтобы создать новое Действие и поместить его в стек.
Я хотел бы смочь создать действие многократно так, чтобы у меня было две или 3 Операции по стеку, и пользователь может переключиться между ними, с помощью Домой, Кнопки "Назад" и т.д...
Действительно ли это возможно и раз так что я делаю неправильно?
Однако, когда я на секунду звоню, он просто возвращается к деятельности уже создан, а не создает новый Activity и размещение его в стеке.
Вы, вероятно, изменили свой манифест, добавив атрибут android: launchMode
, который мешает достижению вашей цели. По умолчанию при запуске действия запускается новый экземпляр.
Также:
myIntent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
, поскольку вам не нужна новая задача на основе того, что вы здесь написали context
, вероятно, Context
, я не знаю, почему вы проходите через все ContextWrapper
/ getBaseContext ()
материал