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

android中activity1和activity2中接收定时消息

android中activity1和activity2中接收定时消息

业务类

import java.util.Timer;
import java.util.TimerTask;public class MyAnager {private MyAnager() {}private static MyAnager instance;//回调接口onRecvTaskpublic interface OnMsgListener {void onRecvTask(String authId);}public void setOnMsgListener(OnMsgListener listener) {this.mOnMsgListener = listener;}private OnMsgListener mOnMsgListener;//实例public static MyAnager get() {if (instance == null) {synchronized (MyAnager.class) {if (instance == null) {instance = new MyAnager();}}}return instance;}//定时public void time(){Timer timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {if (mOnMsgListener != null) {mOnMsgListener.onRecvTask("你好");}}}, 3000, 3000); // 初始延迟 3 秒,周期 3 秒}//初始定时方法public void intnListener() {time();}}

启动发消息

public class MyApplication extends MultiDexApplication {@Overridepublic void onCreate() {super.onCreate();MyAnager.get().intnListener();}
}

ativity1中接收消息

public class LoginActivity extends AppCompatActivity implements MyAnager.OnMsgListener {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);MyAnager.get().setOnMsgListener(LoginActivity.this);TextView tvJump = findViewById(R.id.activity_login);tvJump.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(LoginActivity.this, LoginActivity2.class);startActivityForResult(intent, 1);}});}@Overridepublic void onRecvTask(String xx) {BaseUtil.d("=======LoginActivity1========="+xx);}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);MyAnager.get().setOnMsgListener(LoginActivity.this);}
}

ativity2中接收消息

public class LoginActivity2 extends AppCompatActivity implements MyAnager.OnMsgListener{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login2);MyAnager.get().setOnMsgListener(LoginActivity2.this);}@Overridepublic void onRecvTask(String xx) {BaseUtil.d("=======LoginActivity2========="+xx);}}

ativity1和ativity2初始化的时候都要注册监听并且回调监听。ativity1跳转到ativity2,从ativity2跳转到ativity1的时,ativity1的onActivityResult方法要重新注册。

http://www.lryc.cn/news/547678.html

相关文章:

  • Non-Homophilic Graph Pre-Training and Prompt Learning
  • Ollama 框架本地部署教程:开源定制,为AI 项目打造专属解决方案!
  • unittest框架 核心知识的系统复习及与pytest的对比
  • vue面试宝典之二
  • ESLint 深度解析:原理、规则与插件开发实践
  • 洛谷P1091
  • 随机树算法 自动驾驶汽车的路径规划 静态障碍物(Matlab)
  • 江科大51单片机笔记【9】DS1302时钟可调时钟(下)
  • ssm_mysql_暖心家装平台
  • 一周学会Flask3 Python Web开发-SQLAlchemy简介及安装
  • < 自用文儿 > DELETED 设置速读 in Ubuntu24
  • 自动化同步多服务器数据库表结构
  • 深入理解 HTML 元素:构建网页的基础
  • 黄昏时间户外街拍人像Lr调色教程,手机滤镜PS+Lightroom预设下载!
  • OCPP扩展机制与自定义功能开发:协议灵活性设计与实践 - 慧知开源充电桩平台
  • 哈希查找与深度优先遍历深度解析
  • 【powerjob】 powerjobserver注册服务IP错误
  • Flutter底层实现
  • 亚信安全发布2024威胁年报和2025威胁预测
  • 【YOLOv12改进trick】StarBlock引入YOLOv12,创新涨点优化,含创新点Python代码,方便发论文
  • Android MVI架构模式详解
  • Spring AI Alibaba + Ollama:国产大模型DeepSeek LLM的低成本AI应用开发认知
  • 《2025软件测试工程师面试》功能测试篇
  • 蓝桥杯2024年第十五届省赛真题-传送阵
  • 非线性优化--NLopt算法(Android版本和Python示例)
  • 2025-03-06 ffmpeg提取SPS/PPS/SEI ( extradata )
  • 海量数据融合互通丨TiDB 在安徽省住房公积金监管服务平台的应用实践
  • 深入解析 supervision 库:功能、用法与应用案例
  • 【DeepSeek问答】访问QStandardItemModel::index(r,c)获取的空索引导致程序崩溃
  • 从开源大模型工具Ollama存在安全隐患思考企业级大模型应用如何严守安全红线