Как открыть диалоговое окно активности, когда приложение закрыто

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

следующий код показывает, как я начинаю свою деятельность

Intent intent = new Intent(ctx, MyDialog.class);
intent.putExtra(MyDialog.NUMBER, number);
intent.putExtra(MyDialog.CONTACT, name);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(intent);

И я определяю свою деятельность в mainfaist файл

<activity
        android:name=".ui.MyDialog"
        android:excludeFromRecents="true"
        android:screenOrientation="portrait"
        android:theme="@style/dialog_activity_style"/>

2 ответа

Вам нужно разыграть context в вашем Activity,

как ниже код:

Intent intent = new Intent(ctx, MyDialog.class);
intent.putExtra(MyDialog.NUMBER, number);
intent.putExtra(MyDialog.CONTACT, name);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//change below line in your code
((Activity)ctx).startActivity(intent);

Вы должны реализовать через службу намерений. Когда вызов подключен, запустите службу и отобразите диалог от службы, например:

AlertDialog dialog = builder.create();
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
dialog.show();

и установить разрешение в манифесте

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
Другие вопросы по тегам