Java 在HomeFragment中按BackPress时应用程序的关闭程度
我想从HomeFragment关闭应用程序,但该应用程序会转到启动页Java 在HomeFragment中按BackPress时应用程序的关闭程度,java,android,android-fragments,android-fragmentactivity,onbackpressed,Java,Android,Android Fragments,Android Fragmentactivity,Onbackpressed,我想从HomeFragment关闭应用程序,但该应用程序会转到启动页 我有导航抽屉,我想在任何片段中按backPress时移动到homeFragment,在homeFragment中按backPress时显示toast消息,再次单击back退出应用程序 如何使homeFragment关闭应用程序 HomeFragment Java代码: import..... public class HomeFragment extends Fragment implements IOnBackPresse
我有导航抽屉,我想在任何片段中按backPress时移动到homeFragment,在homeFragment中按backPress时显示toast消息,再次单击back退出应用程序 如何使homeFragment关闭应用程序 HomeFragment Java代码:
import.....
public class HomeFragment extends Fragment implements IOnBackPressed {
View view;
private long backPressedTime;
private Toast backToast;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
homeViewModel = ViewModelProviders.of(this).get(HomeViewModel.class);
view = inflater.inflate(R.layout.fragment_home, container, false); .... }
@Override
public void onBackPressed() {
if (backPressedTime + 2000 > System.currentTimeMillis()) {
backToast.cancel();
getActivity().moveTaskToBack(true);
getActivity().finish();
System.exit(0);
} else {
backToast = Toast.makeText(getContext(), R.string.press_agin, Toast.LENGTH_SHORT);
backToast.show();
}
backPressedTime = System.currentTimeMillis();
}
}
嘿,你应该调用finishafinity()而不是finish(),来完成堆栈中当前活动下面的所有活动,但记住它只会完成具有相同任务和相似性的活动。有关详细信息,请访问
这是因为当您开始家庭活动时,您的活动尚未完成。这只是背景。在您的SplashActivity中,在启动家庭活动后调用
finish()
因为您的SplashActivity尚未完成,所以在从SplashScreen启动活动时添加以下行:
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
从splash启动主活动后,需要调用finish()。@KishanSolanki我有导航抽屉,我想在任何片段中按backPress键时移到homeFragment,在homeFragment中按backPress键时显示toast消息,再次单击back键退出应用程序我有导航抽屉,我想在任何片段中按backPress时移动到homeFragment,在homeFragment中按backPress时显示toast消息,再次单击back退出应用程序
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);