在空闲Android后返回mainActivity

use*_*280 1 android android-activity

所以我们正在做一个创建Android应用程序的项目,我们已经完成但是因为我们有一些时间,所以我想实现一些额外的东西.有一件事我想实现,但我似乎无法找到任何地方是如何让应用程序在闲置一段时间后返回主要活动.时间,我打算让用户能够从设置中选择,但我想知道如何让这个功能先于其他任何工作.所有帮助赞赏.

Mys*_*icϡ 9

您可以使用此处所示的处理程序实现此目的.

private Handler handler;
private Runnable runnable;

//call in onCreate
setAppIdleTimeout()

private void setAppIdleTimeout() {

    handler = new Handler();
    runnable = new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            runOnUiThread(new Runnable() {

                @Override
                public void run() {
                    // Navigate to main activity
                }
            });
        }
    };
    handler.postDelayed(runnable, timeoutValue * 1000);
}

//reset timer on user interaction and in onResume
public void resetAppIdleTimeout() {
    handler.removeCallbacks(runnable);
    handler.postDelayed(runnable, timeoutValue * 1000);
}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    resetAppIdleTimeout();
}

@Override
public void onUserInteraction() {
    // TODO Auto-generated method stub
    Log.i(TAG, "interacted");
    resetAppIdleTimeout();
    super.onUserInteraction();
}

@Override
public void onDestroy() {
    // TODO Auto-generated method stub
    handler.removeCallbacks(runnable);
    super.onDestroy();
}
Run Code Online (Sandbox Code Playgroud)