我有一个开始,并在应用程序的主屏幕STOP按钮。有一些GUI和线程在我点击START时被实例化。当我点击停止时,我希望一切都停止,并且活动应该回到其原始状态。对于像启动时一样的状态(当我们点击移动设备上的App图标时)。 可以做到这一点吗?我尝试完成(),这杀了应用程序并退出。我不想退出主屏幕。相反,点击“停止”后,我希望应用程序返回到原始状态或出生状态。谢谢。停止或刷新一个应用程序的活动
0
A
回答
1
你是如何运行的线程?他们是香草线程还是AsyncTask的子类?
如果这是一个AsyncTask
对象的实例,你可以使用cancel()
方法来取消它,然后你doInBackground()
方法里面,你可以检查isCancelled()
方法,看它是否确实已经取消,然后退出正常。
伪代码如下:
private YourTask taskRef;
public void btnStartHandler() {
taskRef = new YourTask();
taskRef.execute();
}
public void btnStopHandler() {
taskRef.cancel();
}
,然后在您的AsyncTask:
public Void doInBackground(Void... arg0) {
// Background loop start
if (this.isCancelled()) {
return;
}
// Background loop continue...
}
如果你使用线程,你可以打断他们,并捕获异常并处理它。此外,您可以创建一个方法,您从onCreate()
调用initApp()
或初始化所有内容。您也可以使用STOP按钮单击处理程序中的initApp()
将值重置为启动默认值。
0
您可以finish()
重启活动,然后调用startActivity(getIntent());
。这将有效地重新启动您的活动并将其置于其默认状态,无论它是如何启动的。
这样做,一定要取消所有线程或AsyncTasks作为TJF建议之前(你可以和应该做的onDestroy
过载)。
有关重新启动活动的详细信息,以及有关利弊的讨论,看到了这个问题:Reload activity in Android
相关问题
- 1. 刷新Android应用程序活动
- 2. 当试图打开一个活动时,应用程序停止
- 3. 开始新的活动 - 应用程序停止工作
- 4. Android:当应用程序重新打开时停止活动?
- 5. 不幸的是,应用程序已停止(第一次活动)
- 6. 应用已停止开始新活动
- 7. 应用程序在打开第二个活动后停止
- 8. 停止互联网活动当应用程序终止
- 9. 刷新一个活动
- 10. Android:刷新一个活动
- 11. 停止自动刷新
- 12. 当我启动从列表活动的活动应用程序停止
- 13. ADT说unforunately应用程序已经用于启动一个新的活动click事件后停止
- 14. Android的 - 启动另一个应用程序的最新活动
- 15. 活动之间的Android应用程序交换停止
- 16. 停止Android应用程序的所有活动和片段
- 17. 当重新启动一个应用程序时,停止另一个应用程序node.js
- 18. 当应用程序在活动之间切换时,“应用程序已停止”
- 19. 如何停止服务/线程当应用程序退出或从一个不同的活动
- 20. 刷新活动从android应用程序的listadapter onclicklistener
- 21. 停止的应用程序启动
- 22. Android,在活动暂停或停止时终止线程?
- 23. Windows Stand Alone应用程序在移入后台时停止自动刷新
- 24. 我可以开始一项活动作为一个新的应用程序或外部我的应用程序?
- 25. 当通过活动返回时,应用程序停止
- 26. 添加setText到主要活动应用程序突然停止
- 27. 当活动开始时停止应用程序进入前台
- 28. 加载时应用程序停止活动
- 29. 停止一个特定的Android活动
- 30. 不幸停止应用程序停止
这不是我一直在寻找,没有这样的initapp()两种。 – 2010-08-12 20:29:48
如果您注意,我建议您_create_该方法,并从您的'onCreate()'调用它。更多关于你在做什么的信息肯定会有助于获得你正在寻找的答案。 – TJF 2010-08-12 20:31:31
+1为了补偿谁低估了这个内容丰富的答复。 – hpique 2010-08-12 20:32:21