android 如何只关闭最后打开的Activity而不是所有Activity?

ioekq8ef  于 2024-01-04  发布在  Android
关注(0)|答案(1)|浏览(199)

我构建了一个无线电应用程序,其中用户可以打开一个NowPlaying屏幕,并从该屏幕打开另外两个屏幕。当我从最后一个屏幕调用完成时,NowPlaying屏幕也会关闭。请参阅此视频:https://youtube.com/shorts/dsgxC9t0svQ
如何才能只关闭一个屏幕,让用户返回到正在播放屏幕?
要打开"正在播放“屏幕,我用途:

  1. nowPlayingBtn.setOnClickListener {
  2. runOnUiThread {
  3. val intent = Intent(this@MainActivity, NowPlaying::class.java)
  4. startActivity(intent)
  5. }
  6. }

字符串
要打开“刚播放”屏幕,我用途:

  1. binding.justPlayedButton?.setOnClickListener {
  2. runOnUiThread {
  3. val intent = Intent(this@NowPlaying, JustPlayed::class.java)
  4. startActivity(intent)
  5. }
  6. }


要关闭屏幕,我用途:

  1. binding.terugBtn.setOnClickListener {
  2. finish()
  3. }


此代码添加到两个Activity中:NowPlaying和JustPlayed。
我在两个屏幕上都使用了这个绑定。当我在JustPlayed屏幕上按下“terug”(返回)按钮时,只调用那个。它不会同时调用两个“terug”动作。我测试了一下。
当我按下“现在播放”屏幕上的“terug”按钮时,只调用该按钮。
我在开始屏幕中使用noHistory:

  1. <activity
  2. android:name=".Start"
  3. android:exported="true"
  4. android:noHistory="true">
  5. <intent-filter>
  6. <action android:name="android.intent.action.MAIN" />
  7. <category android:name="android.intent.category.LAUNCHER" />
  8. <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
  9. </intent-filter>
  10. </activity>

eaf3rand

eaf3rand1#

我在代码中有两次finish():一次在“terug”按钮上,一次在onStop()函数上。

相关问题