Изменить экран вызова Android

#android #android-intent #phone-call

#Android #android-намерение #телефонный звонок

Вопрос:

Я разрабатываю приложение, которое изменит пользовательский интерфейс экрана вызова в ОС Android. Теперь я знаю, что я не могу заменить пользовательский интерфейс, я могу наложить на него свою пользовательскую активность. Итак, это то, что я пытался сделать.

Я могу получить намерение с помощью android.intent.action.PHONE_STATE состояния вызова, и это работает нормально, однако, когда я запускаю свою собственную активность, она переходит в фоновый режим, и ее заменяет собственный пользовательский интерфейс Android. Есть ли способ это изменить? Я не хочу этого делать Thread.sleep() (хотя в качестве последнего средства мне, возможно, придется).

Вот код:

Манифест Android:

  <receiver android:name=".callIntentReceiver">
        <intent-filter >
            <action android:name="android.intent.action.PHONE_STATE"/>
        </intent-filter>
    </receiver>
  

callIntentReceiver.java:

 public class callIntentReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.e("SmartCaller","Working sort of");
        Intent intent = new Intent(context, mainActivity.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
                Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
                context.startActivity(intent);

    }
}