HomeFragment中的onBackPress时如何关闭应用程序>>

问题描述 投票:0回答:1

我想从HomeFragment关闭应用程序,但该应用程序会转到初始页面。

我有导航抽屉,我希望将任何片段中的backPress移到homeFragment中,而当HomeFragment中的backPress显示Toast消息以再次单击以退出该应用程序时,>]

如何制作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();
    }
}

我想从HomeFragment关闭应用程序,但是该应用程序会转到初始页面。我有导航抽屉,我想将任何片段中的backPress移到homeFragment中,而当HomePress中的backPress移到homeFragment中时...

java android android-fragments android-fragmentactivity onbackpressed
1个回答
0
投票

嘿,您应该调用finishAffinity()来完成堆栈中当前活动以下的所有活动,但是请记住,它只会完成具有相同任务和相同亲和力的活动。有关详细信息,请转到this link

activity.finishAffinity();
© www.soinside.com 2019 - 2024. All rights reserved.