При запуске вашего вызова это выглядит нормально.
Существует разница между Android-хостом 11+ и ниже приложением вашего приложения на передний план.
Android 10 или меньше вы нужно начать новое намерение, android 11+ вы просто используете BringTaskToFront
В состоянии вызова IDLE:
if (Build.VERSION.SDK_INT >= 11) {
ActivityManager am = (ActivityManager) activity.getSystemService(Activity.ACTIVITY_SERVICE);
am.moveTaskToFront(MyActivity.MyActivityTaskId, ActivityManager.MOVE_TASK_WITH_HOME);
} else {
Intent intent = new Intent(activity, MyActivity.class);
activity.startActivity(intent);
}
Я установил MyActivity.MyActivityTaskId
при совершении вызова моя деятельность как это, это не работает, установите эту переменную на странице родительской активности страницы, на которую вы хотите вернуться.
MyActivity.MyActivityTaskId = this.getTaskId();
MyActivityTaskId
- статическая переменная в моем классе активности
public static int MyActivityTaskId = 0;
Надеюсь, это сработает для вас. Я использую вышеуказанный код немного по-другому, я открываю свое приложение, как только на вызов отвечает, так как пользователь может видеть детали вызывающего.
Я также установил некоторые вещи в AndroidManifest.xml
:
/*Dont really know if this makes a difference*/
<activity android:name="MyActivity" android:taskAffinity="" android:launchMode="singleTask" />
и разрешения:
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.REORDER_TASKS" />
Пожалуйста, задавайте вопросы, если или когда вы застряли.