Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-从另一个活动中完成活动_Android - Fatal编程技术网

Android-从另一个活动中完成活动

Android-从另一个活动中完成活动,android,Android,有没有办法,如何从堆栈中完成某些活动?我有一个服务,它查找更新,当找到更新时,它会打开更新活动,并在其中显示安装提示。但在安装完成后,我想完成更新活动,因为它不必仍然在堆栈上 感谢使用活动类的finish()方法来完成某些活动 this.finish(); // you can also use the application context instead of this 希望这对你有帮助 但在安装完成后,我想完成更新活动,因为它不必仍然在堆栈上 当您的“更新活动”调用startActi

有没有办法,如何从堆栈中完成某些活动?我有一个服务,它查找更新,当找到更新时,它会打开更新活动,并在其中显示安装提示。但在安装完成后,我想完成更新活动,因为它不必仍然在堆栈上

感谢使用活动类的finish()方法来完成某些活动

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();