Как открыть диалоговое окно активности, когда приложение закрыто
Я пытаюсь создать пример приложения, которое показывает имя и номер контакта из моих локальных контактов при входящем звонке, все работает правильно, но мой диалог активности не появлялся, пока звонок не закончился или не завершился. Я хочу показать этот диалог как 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" />