Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
接听电话导致android应用程序中的第二个活动关闭_Android_Android Activity - Fatal编程技术网

接听电话导致android应用程序中的第二个活动关闭

接听电话导致android应用程序中的第二个活动关闭,android,android-activity,Android,Android Activity,我有一个媒体应用程序,其中包含一个主要活动,我使用该应用程序的大部分功能 当我打开媒体播放器(我使用的是exoplayer)时,我会打开第二个活动(播放器活动),专门用于播放媒体内容所涉及的功能 如果在播放媒体时电话铃响,并且我接听了电话,则播放器活动将立即关闭(我可以看到正在调用onStop()和onDestroy()函数) 当我挂断电话时,会显示主活动,并且处于创建播放器活动时的状态。事情看起来就像我在玩播放器时按下了后退按钮一样 我希望播放器活动在电话通话期间保持打开状态,然后在电话挂断时

我有一个媒体应用程序,其中包含一个主要活动,我使用该应用程序的大部分功能

当我打开媒体播放器(我使用的是exoplayer)时,我会打开第二个活动(播放器活动),专门用于播放媒体内容所涉及的功能

如果在播放媒体时电话铃响,并且我接听了电话,则播放器活动将立即关闭(我可以看到正在调用onStop()和onDestroy()函数)

当我挂断电话时,会显示主活动,并且处于创建播放器活动时的状态。事情看起来就像我在玩播放器时按下了后退按钮一样

我希望播放器活动在电话通话期间保持打开状态,然后在电话挂断时恢复播放。我已经捕捉到手机状态,我知道如何根据手机状态暂停和重新启动媒体。但是,当我接电话时,我不明白为什么玩家活动被关闭

下面是我用来开始第二个活动的代码:

val playerIntent = Intent(this, PlayerActivity::class.java)
playerIntent.putExtra("docket", event.docket as Serializable)
startActivity(playerIntent)
<intent-filter>
     <category android:name="android.intent.category.APP_MUSIC"/>
</intent-filter>
摘要是一个变量,包含要播放的媒体的活动说明

以下是定义两个活动的清单中的代码:

<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>

找到了答案

将android:noHistory=“true”更改为
android:noHistory=“false”

将此意向筛选器添加到玩家活动:

val playerIntent = Intent(this, PlayerActivity::class.java)
playerIntent.putExtra("docket", event.docket as Serializable)
startActivity(playerIntent)
<intent-filter>
     <category android:name="android.intent.category.APP_MUSIC"/>
</intent-filter>

找到了答案

将android:noHistory=“true”更改为
android:noHistory=“false”

将此意向筛选器添加到玩家活动:

val playerIntent = Intent(this, PlayerActivity::class.java)
playerIntent.putExtra("docket", event.docket as Serializable)
startActivity(playerIntent)
<intent-filter>
     <category android:name="android.intent.category.APP_MUSIC"/>
</intent-filter>