所以我们正在做一个创建android应用程序的项目,我们已经完成了,但由于我们有一些时间,我想实现一些额外的东西。我想要实现的一件事情,但我似乎无法找到任何地方是如何让应用程序闲置一段时间后返回到主要活动。我打算让用户能够从设置中选择这个时间,但是我想知道如何让这个功能在任何其他事情之前先工作。所有帮助赞赏。空闲后返回mainActivity Android
1
A
回答
7
得到参考您可以做到这一点使用处理程序如下所示。
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();
}
0
1]在您的设置中添加屏幕超时。
2]使用一个BroadcastReceiver来触发屏幕上& OFF situations.You将从here
1
你可以用下面的方法试试:
- >广播的ScreenLight ON和OFF
BroadcastReceiver myScreenLightBroadcast = new BroadcastReceiver() {
// This will fire whenever Screen Light will be ON or OFF
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
// Screen Light is On so you can close your all Activity Except your MainActivity
// Or you can move user to MainActivity by starting a NewActivity or Restarting Application
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
// this will call whenever your Screen will OFF
}
}
};
相关问题
- 1. Android将值返回到MainActivity
- 2. 从另一个活动返回后返回到MainActivity的片段?
- 3. 返回MainActivity的按钮
- 4. 首先返回空闲char值c
- 5. Android - 从最近重新启动任务后返回MainActivity
- 6. 检测android空闲
- 7. remove_if后的空闲内存
- 8. Android的空闲时间?
- 9. 返回后ListFragment为空
- 10. 在Asynctask中添加元素后返回ArrayList到MainActivity
- 11. android getElementsByTagName返回空列表
- 12. 从Unity活动返回到android studio中的MainActivity
- 13. 从异步任务返回到MainActivity
- 14. SQL Server Express空闲模式部分数据返回?
- 15. Bash命令返回一个空闲端口
- 16. 保存OpenGL场景到TBitmap - glReadPixels返回空闲数据?
- 17. 在返回语句之前了解空闲()缓冲区
- 18. DropdownListFor在HTTP回传后返回空
- 19. 登录Facebook后发送回MainActivity
- 20. 在一段空闲时间后锁定android应用程序
- 21. MenuItemCompat.getActionView返回空
- 22. 关闭后连接仍然空闲
- 23. CoreLocation停止获取更新后空闲
- 24. iOS应用空闲然后锁
- 25. iphone动画之后的空闲内存
- 26. JSON_Encode返回空值
- 27. MainActivity后无法splashcreen
- 28. 返回后数组是空的
- 29. POST请求后返回空值
- 30. ASP.NET DetailsView在插入后返回空白
您还可以使用的AsyncTask,虽然不是真的需要在这种情况下 – Arnab 2014-11-24 05:00:48
@Arnab在AsyncTask会调用Thread.sleep(miliSeconds)吗? – SilentKiller 2014-11-24 05:06:27
我已经使用了上面的代码,但由于某种原因,即使有用户交互,它仍然超时。我为超时值创建了一个60的全局整数,并在一分钟之后完成,它返回到主要活动。 – user2989280 2014-11-24 05:40:47