Android-从另一个活动中完成活动
有没有办法,如何从堆栈中完成某些活动?我有一个服务,它查找更新,当找到更新时,它会打开更新活动,并在其中显示安装提示。但在安装完成后,我想完成更新活动,因为它不必仍然在堆栈上 感谢使用活动类的finish()方法来完成某些活动Android-从另一个活动中完成活动,android,Android,有没有办法,如何从堆栈中完成某些活动?我有一个服务,它查找更新,当找到更新时,它会打开更新活动,并在其中显示安装提示。但在安装完成后,我想完成更新活动,因为它不必仍然在堆栈上 感谢使用活动类的finish()方法来完成某些活动 this.finish(); // you can also use the application context instead of this 希望这对你有帮助 但在安装完成后,我想完成更新活动,因为它不必仍然在堆栈上 当您的“更新活动”调用startActi
this.finish(); // you can also use the application context instead of this
希望这对你有帮助
但在安装完成后,我想完成更新活动,因为它不必仍然在堆栈上
当您的“更新活动”调用
startActivity()
以启动“安装”时,请它立即对自身调用finish()
。如果更新活动正在启动另一个安装活动,则您可能希望覆盖void onActivityResult(int-requestCode、int-resultCode、Intent-Intent-Intent)
在更新活动中,提供以下实现。此外,当更新活动启动安装活动时,它应该使用startActivityForResult(Intent,int)
,而不是startActivity(Intent)
请试试这个
在第一个活动中,在onCreate之前定义此项
static TabsViewPagerFragmentActivity activityMain;
然后,在第一个活动的onCreate中,编写以下内容
activityMain = this;
然后,在第二个活动中,当您想完成第一个活动时,写下这个
TabsViewPagerFragmentActivity.activityMain.finish();
这将破坏第一个活动,当您按“返回”第二个活动时,您将直接返回主页。非常有用的代码
classname.static object.finish();
如果我有名为update的活动-我可以从其他类update.finish()调用吗?-这就是我需要的。我经常使用finish(),但我仍然无法从其他(较新的)活动中完成堆栈上的一个活动使用finishActivity(int requestCode)方法来完成您以前使用startActivityForResult(Intent,int)启动的另一个活动。是的,问题是我正在从AsyncTask启动新活动,所以我无法完成我的任务itself@Hmyzak:切勿从
异步任务启动新活动。这是用户恶意行为,导致活动在没有警告的情况下随机出现。通过AsyncTask,我正在下载文件进行更新,下载完成后,我使用onPostExecute安装此应用程序。我看没有别的办法,你知道吗?@Hmyzak:使用安卓2.3之前版本的IntentService
和2.3+版本的DownloadManager
,这样用户在下载过程中就不会绑定到你的应用程序。下载完成后发出通知
。当用户点击通知时
,然后安装活动-内存泄漏的app.static引用
classname.static object.finish();