问题标签 [activity-state]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
740 浏览

android - 每当应用程序从后台进入前台时,如何始终启动登录活动?

我有LoginActivity哪个是我的主要活动以及 LAUNCHER 活动,我还有其他活动,例如CustomerAddActivity& CustomerListActivity

现在假设我在CustomerAddActivity里面,我按下 Home 按钮,应用程序进入后台,当应用程序再次进入前台时,它必须首先询问LoginActivity是否有效的凭据(简单的凭据,例如来自 sq-lite 的用户名和 pin),然后返回CustomerAddActivitywith这是状态。

0 投票
1 回答
48 浏览

android - 旋转屏幕时图像不保留

我正在尝试将图库中的图像添加到图像视图中。它已被添加,但图像在旋转屏幕时从图像视图中消失。图像已保存到 Firebase。如何保存活动状态?我已经搜索过,但没有找到相关的答案。谁能帮我解决这个问题。

0 投票
2 回答
69 浏览

android - 如何在 OnPause 和 OnResume 状态下处理 ToggleButton 状态

我面临切换按钮状态onResume()onPause()状态的问题。

Activity - A(第一个用户打开按钮)然后返回到 Activity - B,然后它会返回到 Activity - A 然后我想要切换按钮打开而不是关闭,如何在 android 中处理这种状态。

0 投票
0 回答
62 浏览

android - 视频应用程序的活动在分屏时的状态是什么?

我正在 Android 中设置一个可以在分屏中工作的应用程序。当我的活动可见但不与用户交互时,它的状态(在活动生命周期中)是什么?值得注意的是,activity负责播放视频。

0 投票
1 回答
1922 浏览

android - 字段需要 API 级别 29(当前最低为 16):android.app.TaskInfo#topActivity

我试图检查活动是在前台还是后台,所以我使用活动管理器来找到它。当我compileSdkVersion28 岁时,应用程序编译成功。当我用 29 运行相同的代码时compileSdkVersion,出现以下错误,

当我设置compileSdkVersion为 29 时出现此错误。

0 投票
1 回答
32 浏览

android-fragments - 显示 BottomSheetDialogFragment 时出现“java.lang.IllegalStateException:onSaveInstanceState 后无法执行此操作”

当我尝试在片段中打开 BottomSheetDialogFragment 时遇到问题,使用来自另一个片段的回调结果,该片段嵌套在另一个活动中。

所有进一步的演示都是对项目中真实案例的抽象,具有无法更改的已建立应用程序架构。让我给你解释一下。

我有一个名为“MainActivity”的主要主机活动,其中包含 BaseFragment

此 BaseFragment 使用包含 LoginFragment 的 LoginActivity 打开登录屏幕,因为它需要授权用户。

LoginActivity 也使用 . 处理成功/失败登录的结果supportFragmentManager.setFragmentResultListener (...。对于此示例, FragmentResultListener 成功处理任何更改。LoginActivity 要求 MainNavigator 从称为登录的 BaseFragment 打开 BottomSheetDialogFragment,用于授权用户并完成。

登录片段

MainNavigator 是用于跨整个应用程序导航的抽象。

MainNavigator 调用 BaseFragment 打开 BottomSheetDialogFragment。

当 LoginActivity 调用 MainNavigator 打开 BottomSheetDialogFragment。- 发生 2022-02-08 19:49:58.285 20135-20135/com.vadim.stackoverflowquestion E/VadymTag: BaseFragment onPause 2022-02-08 19:49:58.286 20135-20135/com.vadim.stackoverflowquestion E/VadymTag: MainActivity onPause 2022-02-08 19:49:58.790 0-0/? E/init: updatable process 'console' exited 4 times in 4 minutes 2022-02-08 19:49:59.027 20135-20135/com.vadim.stackoverflowquestion E/VadymTag: BaseFragment onSaveInstanceState 2022-02-08 19:49:59.031 20135-20135/com.vadim.stackoverflowquestion E/VadymTag: MainActivity onSaveInstanceState 2022-02-08 19:49:59.799 20135-20135/com.vadim.stackoverflowquestion E/AndroidRuntime: FATAL EXCEPTION: main Process: com.galazjukvadim.stackoverflowquestion, PID: 20135 java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at androidx.fragment.app.FragmentManager.checkStateLoss(FragmentManager.java:1844) at androidx.fragment.app.FragmentManager.enqueueAction(FragmentManager.java:1884) at androidx.fragment.app.BackStackRecord.commitInternal(BackStackRecord.java:329) at androidx.fragment.app.BackStackRecord.commit(BackStackRecord.java:294) at androidx.fragment.app.DialogFragment.show(DialogFragment.java:260) at com.galazjukvadim.stackoverflowquestion.BaseFragment.openBottomSheet(BaseFragment.kt:52) at com.galazjukvadim.stackoverflowquestion.BaseFragment$onViewCreated$2.invoke(BaseFragment.kt:39) at com.galazjukvadim.stackoverflowquestion.BaseFragment$onViewCreated$2.invoke(BaseFragment.kt:39) at com.galazjukvadim.stackoverflowquestion.LoginActivity.initLoginListener$lambda-0(LoginActivity.kt:33) at com.galazjukvadim.stackoverflowquestion.LoginActivity.$r8$lambda$3dwuINVTP3WL69H0HgmUiCWJ7Dw(Unknown Source:0) at com.galazjukvadim.stackoverflowquestion.LoginActivity$$ExternalSyntheticLambda0.onFragmentResult(Unknown Source:2) at androidx.fragment.app.FragmentManager$LifecycleAwareResultListener.onFragmentResult(FragmentManager.java:256) at androidx.fragment.app.FragmentManager.setFragmentResult(FragmentManager.java:865) at com.galazjukvadim.stackoverflowquestion.LoginFragment.onViewCreated$lambda-0(LoginFragment.kt:30) at com.galazjukvadim.stackoverflowquestion.LoginFragment.$r8$lambda$PNHKtYyi4mi0uK7kLsV6wOurKW4(Unknown Source:0)

它引起了以下称为Activity state loss的问题。阅读以下文章:1、2观察了预期的行为。我的 BaseFragment 和 MainActivity 已调用 onPause,然后onSaveInstanceState触发 throw IllegalStateException: Can not perform this action after onSaveInstanceState

在这种情况下,它可以负担得起用于.commitAllowingStateLoss()显示 BottomSheetDialogFragment。bottomSheetFragment.show(childFragmentManager, MyBottomSheetDialog.TAG)但是通常使用的引擎盖下ft.commit();

在此处输入图像描述

有人知道解决方案吗?