2017-04-03 12 views
0

들어오는 호출이있을 때 모든 연락처가 올바르게 작동하지만 내 활동 대화 상자가 나타나지 않아 전화가 끝나거나 종료 될 때까지 로컬 연락처의 연락처 이름과 번호를 보여주는 샘플 애플리케이션을 만들려고합니다. TrueCaller 전화가 시작되거나 결과를 찾을 때 응용 프로그램 팝업과 같은 대화 상자를 표시하려고합니다. 결과를 찾으면 내 대화 상자가 올바르게 시작되지만 통화가 끝날 때까지는 표시 할 수 없습니다. UI가 아닌 실습 수업에서 논리를 실을 수 없습니다. 어떤 도움이 필요합니까?앱 종료시 대화창 팝업 방법

코드 쇼를 다음 것은 내가 내 활동

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 파일 당신은 당신의 Activitycontext 캐스팅 할 필요가

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

답변

0

내 활동을 정의합니다. 코드를 다음과 같이

:

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); 
+0

에 권한을 설정 지금 그것을 시도하지만, 응용 프로그램 중지 'android.app 캐스팅 할 수 없습니다 표시되지 않음 사항 대화 상자 .Activity' – Azak

+0

예, 활동에 응용 프로그램 컨텍스트를 전송할 수 없습니다. 현재 활동의 컨텍스트를 전달해야합니다. –

0

당신은 의도 서비스를 통해 구현해야합니다. 전화 같은 서비스에서 시작 서비스 및 디스플레이 대화를 연결 한 경우 :

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

및 매니페스트

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />