当前位置: 首页 > news >正文

android 活动结束,如何在Android中完成当前活动

8 个答案:

答案 0 :(得分:118)

如果您正在进行加载屏幕,只需将参数设置为不将其保留在活动堆栈中。在manifest.xml中,您可以在其中定义您的活动:

在你的代码中,不再需要调用.finish()了。做startActivity(i);

也无需在单独的字段中保留当前活动的实例。您始终可以像LoadingScreen.this.doSomething()而不是private LoadingScreen loadingScreen;那样访问它

答案 1 :(得分:43)

我尝试使用这个例子,但它失败了。每次我在处理程序中调用finish()/ finishactivity()时,我都会遇到这种威胁java.lang.IllegalAccess Exception。我不确定这对提出这个问题的人有什么用处。

相反,我找到的解决方案是在您的活动中创建一个方法,例如

void kill_activity()

{

finish();

}

从处理程序的run方法内部调用此方法。这对我来说就像一个魅力。希望这有助于任何人在努力解决“如何从不同的线程关闭活动?”。

答案 2 :(得分:12)

您需要从UI线程调用finish(),而不是后台线程。这样做的方法是声明一个Handler并要求Handler在UI线程上运行Runnable。例如:

public class LoadingScreen extends Activity{

private LoadingScreen loadingScreen;

Intent i = new Intent(this, HomeScreen.class);

Handler handler;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

handler = new Handler();

setContentView(R.layout.loading);

CountDownTimer timer = new CountDownTimer(10000, 1000) //10seceonds Timer

{

@Override

public void onTick(long l)

{

}

@Override

public void onFinish()

{

handler.post(new Runnable() {

public void run() {

loadingScreen.finishActivity(0);

startActivity(i);

}

});

};

}.start();

}

}

答案 3 :(得分:8)

只需调用finish()方法:

context.finish();

答案 4 :(得分:7)

如果要开始新活动并完成当前活动,可以执行以下操作:

API 11或更高版本

Intent intent = new Intent(OldActivity.this, NewActivity.class);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

startActivity(intent);

API 10或更低

Intent intent = new Intent(OldActivity.this, NewActivity.class);

intent.setFlags(IntentCompat.FLAG_ACTIVITY_NEW_TASK | IntentCompat.FLAG_ACTIVITY_CLEAR_TASK);

startActivity(intent);

我希望这可以帮助某人=)

答案 5 :(得分:2)

我正在做的是开始一个新活动,然后关闭当前活动。因此,请记住以下简单规则:

finish()

startActivity<...>()

不是

startActivity<...>()

finish()

答案 6 :(得分:2)

完成此活动以及当前任务中具有相同亲和力的紧随其下的所有活动。

答案 7 :(得分:1)

我找到了很多答案,但没有一个很简单...

希望对您有帮助...

try{

Intent intent = new Intent(CurrentActivity.this, NewActivity.class);

startActivity(intent);

} finally {

finish();

}

所以,

逻辑很简单,因为我们知道在Java中,我们编写的代码在try块中有发生异常的可能性,并在catch块中处理该异常,但是在最后的块中,我们编写了必须以任何代价执行的代码(异常发生与否)。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 页面导出到Excel、Word、txt
  • swift html5 相机调用,Swift调用摄像头拍照或者录制视频
  • C# 动态生成Word文档
  • 超轻量级MVC框架的设计和实现 (3)
  • html视频位置左上角,html5视频标签的Css对齐和定位
  • Java中对图片文件的类型的获取
  • html5圆环图比例教程,Chart.js 使用实例 - 圆环比例图表
  • Java重定向System.out和System.err
  • 3d怎么保存html格式,html – Internet Explorer保存3D修复
  • java.util.ConcurrentModificationException异常的解决办法
  • 分析思考html网页结构,网页布局WEB标准的HTML结构化
  • html input type text标签属性和方法事件
  • html的id与name属性,input中id和name属性具体有什么不同啊?(示例)
  • 2021河南固高高考成绩查询,2011河南高考状元:理科状元谢远航 720分 固始慈济高中...
  • 北京.NET俱乐部2007年12月2日活动通知
  • @jsonView过滤属性
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • C++11: atomic 头文件
  • leetcode-27. Remove Element
  • React Transition Group -- Transition 组件
  • scala基础语法(二)
  • spark本地环境的搭建到运行第一个spark程序
  • springMvc学习笔记(2)
  • SwizzleMethod 黑魔法
  • Vue UI框架库开发介绍
  • 安卓应用性能调试和优化经验分享
  • 二维平面内的碰撞检测【一】
  • 构造函数(constructor)与原型链(prototype)关系
  • 关于 Cirru Editor 存储格式
  • 删除表内多余的重复数据
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 写给高年级小学生看的《Bash 指南》
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 因为阿里,他们成了“杭漂”
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 追踪解析 FutureTask 源码
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • # 计算机视觉入门
  • #565. 查找之大编号
  • (3)llvm ir转换过程
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (二)丶RabbitMQ的六大核心
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net core 外观者设计模式 实现,多种支付选择