用户Android应用程序完全关闭时如何执行最后一个操作 - Android Studio

时间:2017-06-07 05:29:42

标签: java android encryption cryptography

所以目前我在Android工作室开发Android应用程序。基本上,当用户按下主页按钮,选项卡按钮或关闭屏幕时(当应用程序在后台运行时),一串文本被加密,存储并且应用程序注销。问题是,加密需要几秒钟才能完成,因此如果用户通过转到标签模式关闭应用程序并在加密完成之前将其擦除,整个过程将被取消。有没有办法,即使用户关闭应用程序,它可以处理最终加密或最终功能?

1 个答案:

答案 0 :(得分:0)

基本上你必须在app的MainActivity(DashboardActivity)中做这样的事情

        private Boolean exit = false;

        @Override
        public void onBackPressed() {

            if (exit) {
                super.onBackPressed();
            } else {
                FragmentManager manager = getSupportFragmentManager();
                if (manager.getBackStackEntryCount() <= 0) {
                    Utilities.showToastCompulsary(DashboardActivity.this, "Press Back again to Exit.");
                    exit = true;
                    encryptionProccess();
                    new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            exit = false;

                        }
                    }, 3 * 1000); //manage your time as per process
                } else {
                    super.onBackPressed();
                }
            }
        }

另一个approch是你可以尝试使用onDistroyed方法

@Override
protected void onDestroy() {
    startLoader();
    encriptionProcess();
    stopLoader();
    super.onDestroy();
}