有没有办法从堆栈中结束某个活动?我有一个服务,它查找更新,当找到更新时,它会打开更新活动,在那里会出现提示安装。但是在安装完成后,我想结束更新活动,因为它不必继续留在堆栈上。
谢谢
有没有办法从堆栈中结束某个活动?我有一个服务,它查找更新,当找到更新时,它会打开更新活动,在那里会出现提示安装。但是在安装完成后,我想结束更新活动,因为它不必继续留在堆栈上。
谢谢
如果更新活动正在启动另一个安装活动,则您可能需要在更新活动中覆盖 void onActivityResult(int requestCode, int resultCode, Intent intent)
,并提供以下实现。此外,当更新活动启动安装活动时,应使用 startActivityForResult(Intent, int)
而不是 startActivity(Intent)
。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{
super.onActivityResult(requestCode, resultCode, intent);
finish();
}
非常有用的代码
classname.static object.finish();
static TabsViewPagerFragmentActivity activityMain;
activityMain = this;
TabsViewPagerFragmentActivity.activityMain.finish();
这将销毁第一个活动,当您在第二个活动上按返回键时,您将直接返回主页。
this.finish(); // you can also use the application context instead of this
startActivity()
来启动“安装程序”时,请立即在自身上调用finish()
。AsyncTask
启动新的活动。这是对用户不友好的,会导致活动突然出现而没有警告。 - CommonsWareIntentService
,在2.3及以上版本使用DownloadManager
,这样用户在下载过程中不会被绑定在你的应用程序上。当下载完成时,发出一个通知。当用户点击通知时,再安装应用程序。 - CommonsWare