android onresume函数,android – 在Activity中重新创建后未调用onResume

android onresume函数,android – 在Activity中重新创建后未调用onResume在应用程序设置中进行某些更改时,我在recreate的onActivityResult中调用MainActivity。重新创建后,不调用onResume。我也收到错误:E/ActivityThread:Performingpauseofactivitythatisnotresumed从this问题开始,我了解到不能从onResume调用此函数。但是我从onActivityResul…

大家好,又见面了,我是你们的朋友全栈君。

在应用程序设置中进行某些更改时,我在recreate的onActivityResult中调用MainActivity。重新创建后,不调用onResume。

我也收到错误:E/ActivityThread: Performing pause of activity that is not resumed

从this问题开始,我了解到不能从onResume调用此函数。但是我从onActivityResult打电话给他们。另外,使用处理程序来调用recreate可以解决问题,但会导致眨眼,对用户而言很糟糕。这可能是什么错误?没有recreate的情况下如何使用Handler?

任何想法将不胜感激。谢谢!

最佳答案

在onResume()之前调用OnActivityResult()。您可以做的是在OnActivityResult()中设置一个标志,您可以在onResume()中检入,如果该标志为true,则可以重新创建活动。

您实际上可以做的是完成活动并开始相同的活动,而不是重新创建活动。您将获得相同的效果。可能是这样的:public class MainActivity extends AppCompatActivity {

private boolean shouldRecreate = false;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Log.d(“AG”, “onCreate() called”);

Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);

startActivityForResult(intent, 0);

}

@Override

protected void onResume() {

super.onResume();

if (shouldRecreate){

finish();

startActivity(new Intent(this, MainActivity.class));

}

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if(requestCode == 0){

shouldRecreate = true;

}

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137296.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Matlab 分段函数怎么画 表示方式 (推荐)

    Matlab 分段函数怎么画 表示方式 (推荐)在很长一段时间里面,我都只用上了连续或可导函数(也指那种可以用一个函数表达式表示),结果在这次布置的作业必须要用到分段函数,如下图,总不能通过一条线一条线的plot出来吧。对于这样一个分段函数而言,有以下两种方式可以很好的解决利用逻辑表达式比如第一个就可以表示为:即当t在某一个范围内那段函数才生效,否则乘上逻辑式因子就为0,得到的效果图如下:利用阶跃函数Heavisi…

    2022年5月1日
    128
  • Java面向对象三大特性(封装、继承、多态)

    Java面向对象三大特性(封装、继承、多态)文章目录前言一、封装1.封装的概念2.private实现封装3.getter和setter方法4.封装的好处二、继承1.extends实现继承2.super关键字三,多态总结前言OOP语言:也就是面向对象编程。面向对象的语言有三大特性:封装、继承、多态。三大特性是面向对象编程的核心。下面就来介绍一下面向对象的三大特性。如果想了解面向对象可以看一下这一篇博客类和对象一、封装1.封装的概念在我们写代码的时候经常会涉及两种角色:类的实现者和类的调用者封装的本质就是让类的调用者不必太多的.

    2022年7月25日
    14
  • ios手游游戏辅助挂机工具_ios挂机RPG游戏大全_iPhone挂机RPG类手游排行榜_ios挂机RPG类手游精选推荐_ios挂机RP类手游下载…

    ios手游游戏辅助挂机工具_ios挂机RPG游戏大全_iPhone挂机RPG类手游排行榜_ios挂机RPG类手游精选推荐_ios挂机RP类手游下载…《康熙皇帝养成计划》是一款原创角色养成挂机手游,游戏以少年复仇为主线,融合勇闯神龙、秘境探险、帮派结盟、培养豪杰、金科演武…在《魔王村长和杂货店》中你将置身于一个日式RPG的幻想大陆之中,扮演一个看似寻常的村庄村长。宅男逆袭成大神剧情,又可与心仪校花共同谱写高校恋爱物语,还能体验玄幻修真与灵异兼备的乐趣,革新的游戏体能全面开启。《天天挂奇迹》是一款超畅快刺激的挂机RPG类游戏,游戏以经典《奇迹…

    2022年6月2日
    42
  • crontab 定时任务配置

    crontab 定时任务配置2019独角兽企业重金招聘Python工程师标准>>>…

    2025年5月27日
    6
  • linux查看硬盘smart信息_centos查看未挂载磁盘

    linux查看硬盘smart信息_centos查看未挂载磁盘1          编写目的在如今大数据的环境中,磁盘的性能和稳定性是非常重要的一个业务因素。在Linux系统中,smartctl是较为常用的磁盘检测工具。本文基于Linux系统中smartctl进行分析,目的在于说明相关工具的使用,并对SMART(Self-Monitoring,AnalysisandReportingTechnology)做一些分析。2          …

    2022年10月8日
    3
  • 微服务——Eruka

    1、Eruka——基于HTTPREST的服务发现框架定位于AWS(亚马逊网络服务)域中的中间层服务负载均衡、中间层服务故障转移注:Eruka专门用于发现服务,一些服务将自己注册进Eruka,使另一些服务通过Eruka查找其所要调用的服务;充当服务发现服务的组件很多,如:Zookeeper、Consul、Eruka等2、Eruka架构图…

    2022年4月4日
    241

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号