Я разрабатываю приложение, которое будет изменять интерфейс экрана вызова ОС 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);
}
}