Отвечая на телефон вызывает закрытие 2-й активности в приложении для Android - PullRequest
1 голос
/ 08 октября 2019

У меня есть мультимедийное приложение с основным действием, которое я использую для большинства функций приложения.

Когда я открываю медиаплеер (я использую exoplayer), я открываю второе действие (player-действие), которое предназначено для функций, связанных с воспроизведением мультимедийного содержимого.

Если во время воспроизведения мультимедиа звонит телефон, и я отвечаю на звонок, действие проигрывателя немедленно закрывается (я вижу onStop () и вызываемые функции onDestroy ()).

Когда я вешаю трубку, отображается основное действие, которое находится в состоянии, в котором оно было при создании действия игрока. Кажется, все работает так, как будто я нажал кнопку «Назад» во время действия игрока.

Я хочу, чтобы действие игрока оставалось открытым во время телефонного разговора, а затем возвращаться к игре, когда телефонповесить трубку. Я уже улавливаю состояние телефона и знаю, как приостановить и перезапустить носитель в зависимости от состояния телефона. Но я не могу понять, почему действие игрока закрывается, когда я отвечаю на звонок.

Вот код, который я использую для начала второго действия:

val playerIntent = Intent(this, PlayerActivity::class.java)
playerIntent.putExtra("docket", event.docket as Serializable)
startActivity(playerIntent)

docket - это переменная, содержащая инструкции к действию того, какой носитель воспроизводить.

Вот код из манифеста, в котором определены оба действия:

<activity
        android:name=".activity.main.MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
</activity>
<activity
        android:name=".activity.player.PlayerActivity"
        android:launchMode="singleInstance"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/title_activity_player"
        android:theme="@style/FullscreenTheme"
        android:noHistory="true">
</activity>

1 Ответ

0 голосов
/ 13 октября 2019

Найден ответ.

Изменено android:noHistory="true" на android:noHistory="false".

Добавлен этот фильтр намерений в активность игрока:

<intent-filter>
     <category android:name="android.intent.category.APP_MUSIC"/>
</intent-filter>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...