Android 按back键后在后台运行的活动

Android 按back键后在后台运行的活动,android,animation,android-activity,onbackpressed,Android,Animation,Android Activity,Onbackpressed,我正在开发一个android应用程序,在那里我广泛使用动画。我面临的问题是,如果用户意外或故意按下“后退”按钮,则前一个活动将启动,这是正常的,但不再可见的活动将继续在后台运行。祝酒会正在举行,媒体正在播放。现在,简单的解决方案是在onBackPressed()中通过引用检查任何正在运行的动画或正在运行的媒体,并相应地停止。有没有其他方法可以完全杀死这种活动?因为我没有为那个活动中的每个动画保留参考。似乎什么都不管用。请帮忙 如果有帮助,试试这个 从堆栈中完成活动 toolbar.setNavi

我正在开发一个android应用程序,在那里我广泛使用动画。我面临的问题是,如果用户意外或故意按下“后退”按钮,则前一个活动将启动,这是正常的,但不再可见的活动将继续在后台运行。祝酒会正在举行,媒体正在播放。现在,简单的解决方案是在onBackPressed()中通过引用检查任何正在运行的动画或正在运行的媒体,并相应地停止。有没有其他方法可以完全杀死这种活动?因为我没有为那个活动中的每个动画保留参考。似乎什么都不管用。请帮忙

如果有帮助,试试这个

从堆栈中完成活动

toolbar.setNavigationOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
您也可以从清单中尝试

<activity android:name=".LoadingScreen" android:noHistory="true" ... />

如果有帮助,试试这个

从堆栈中完成活动

toolbar.setNavigationOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
您也可以从清单中尝试

<activity android:name=".LoadingScreen" android:noHistory="true" ... />

活动不在后台运行,而是在前台运行。如果不查看代码,很难说是什么导致了此问题,但可能是您启动的音乐服务造成的。

活动不在后台运行,而是在前台运行。如果不查看代码,很难说是什么导致了此问题这是一个问题,但可能是您启动的音乐服务。

请检查

您应该根据活动的生命周期处理动画和媒体播放


您应该根据活动的生命周期处理动画和媒体播放

要手动终止活动,您可以使用下面的方法终止活动

完成()


如果有任何疑问,请告诉我

若要手动终止活动,您可以使用下面的方法,即您要终止活动的方法

完成()



如果有任何疑问,请告诉我

那么,您是否希望该活动在后台停止工作?是的。即使我看不到活动,它也会继续在后台运行。正在显示祝酒词,并从该活动中听到声音。
onBackPressed()
在用户按下后退键时被调用。除非您已覆盖它,否则默认行为将调用
finish()
,它将完成您的
活动。如果在
活动中启动了其他线程或其他后台处理,则需要自己终止这些任务。请向我们展示一些相关代码。那么,您是否希望该活动在后台停止工作?是的。即使我看不到活动,它也会继续在后台运行。正在显示祝酒词,并从该活动中听到声音。
onBackPressed()
在用户按下后退键时被调用。除非您已覆盖它,否则默认行为将调用
finish()
,它将完成您的
活动。如果在
活动中启动了其他线程或其他后台处理,则需要自己终止这些任务。请向我们展示一些相关代码。请共享日志或尝试从清单中处理,如我在回答中所述。并对上述代码进行评论。@Joy有进展吗?没有。从那时起,我一直在尝试解决它。但是没有运气:(如果我仍然设法在onBackPressed()中停止当前播放媒体),代码继续在后台运行,并开始播放下一个媒体,显示祝酒词。清单技巧不起作用。我应该共享logcat吗?logcat太大,无法在评论中发布。怎么办?我实际上是新来的。请共享logcat或尝试按照我在回答中提到的从清单中处理它。并对上述代码进行评论。@Joy any progress buddy?没有。从那时起我一直在努力解决它。但是没有运气:(如果我仍然设法在onBackPressed()中停止当前播放媒体),代码继续在后台运行,并开始播放下一个媒体,显示祝酒词。显式技巧不起作用。我应该共享logcat吗?logcat太大,无法在评论中发布。怎么办?我实际上是新来的。实际上这是一个相当大的代码。但我正在尝试解释更多。我有一个MediaPlayer数组。在onBackPressed()中,如果我停止当前播放的媒体,代码将继续在后台执行,最终导致播放下一个媒体并显示祝酒词。由于活动不可见,显然我看不到动画。我想在这里提到,我尚未覆盖onStop().我应该这样做吗?实际上这是一个相当大的代码。但我正试图解释得更多一些。我有一个MediaPlayer数组。在onBackPressed()中,如果我停止当前播放的媒体,代码将继续在后台执行,最终导致播放下一个媒体并显示祝酒词。由于活动不可见,显然我看不到动画。我想在这里提到,我尚未覆盖onStop()。我应该这样做吗?没有帮助…上一个活动已启动,但不可见的活动将继续在后台执行。没有帮助…上一个活动已启动,但不可见的活动将继续在后台执行。