먼저 서비스를 작성한 다음 수신 전화를 확인하는 플래그를 준비하십시오. 이제 전화가 오면 서비스에서 찾을 수 있습니다. 플래그가 참이면 활동을 시작하십시오. 전화를 들어
public class OutgoingCallReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
//check the flag
if(GlobalDefinitions.IsProgramRunning) {
//open your activity immediately after a call
Intent intent1 = new Intent(context, YOURACTIVITY.class);
intent1.setFlags(FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
GlobalDefinitions.IsProgramRunning=false;
}
}
:
public static void Call(Context context, String phoneNumber) {
if (!phoneNumber.equals("")) {
GlobalDefinitions.IsProgramRunning=true;
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("tel:" + phoneNumber));
context.startActivity(intent);
}
}
당신의 난 당신이 오해 생각
<receiver android:name=".services.OutgoingCallReceiver">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
, 그는 자신의 응용 프로그램에 원하는 나던 매니페스트 "float로 권한과 서비스를 추가하는 것을 잊지 마세요 "다이얼러 앞에서 전화 걸기를 전혀 원하지 않습니다. – r2DoesInc
다이얼러 UI를 표시하지 않고 전화를 걸 수있는 방법을 모르므로 전화 걸기 UI가 숨겨져있는 화면을 만드는 가능한 솔루션을 제안합니다. – marmor