UI控件的初始显示状态与Service的存亡状态绑定

华为P30/pro (ELE-AL00) 鸿蒙4.2降级 EMUI 9 分享 阅读详情

应用场景:
  非常多啦,只要你这个控件会根据Service的运行状态改变内容,比如你一个按钮原始状态是“点击下载”,点击后显示“正在下载”,你不可能看着它下载吧,你得去其他Activity逛逛,逛完回来下载依然没有完成控件还应该显示”正在下载”,可现实是控件成了初始状态“点击下载”
解决思路(不是存SP):
  控件的显示状态和Service的运行状态绑定,Service在运行说明正在下载就显示”正在下载”,不在运行说明下载完成或者被系统干掉了就显示”点击下载”

代码逻辑:
  获取系统现在正在运行得所有服务,看看有没有我们的服务在运行,然后做相应UI初始化

    /**
     * 判断某个服务是否正在运行
     * @param context
     * @param servierName 服务的名称(该服务类的完整路径)
     * @return 是否运行
     */
    public **static** boolean serviceRunning(Context context, String servierName) {
        ActivityManager mAMangager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        //获得服务集合,参数:服务个数
        List<ActivityManager.RunningServiceInfo> list = mAMangager.getRunningServices(100);
        //遍历比对
        for (ActivityManager.RunningServiceInfo info : list) {
            String currentService = info.service.getClassName();
            if (servierName.equals(currentService)) {
                //存在
                return true;
            }
        }
        return false;
    }

调用:

比如我的服务类是service包下MyService

if(serviceRunning(上下文,"com.ycc.service.MyService")){
            控件.setText("正在下载");
        }else{
            控件.setText("点击下载");
        }

上面说的只是界面初始化哟,如果你要在下载完成后显示”下载完成”那就在下载完成后发消息给Handler,在那儿更新UI吧

和Service没有关系的控件,可以把控件的状态存到SharedPreferences偏好设置里,根据里面的值初始化控件

若依框架二次开发——RuoYi-AI 本地部署流程 阅读详情

相关推荐

手把手教你搭建三端口DC-DC变换器(含Boost+Buck电路实战)

本文详细介绍了如何从零开始搭建三端口DC-DC变换器,涵盖Boost和Buck电路的硬件设计、元器件选型、电路板布局、焊接技巧、控制系统设计与调试等关键步骤。通过实战案例和优化建议,帮助工程师避开常见陷阱,提升系统效率和稳定性,适用于光伏、储能等电力电子应用场景。

x8y9z0的博客 930

WPF StatusBar控件

应用程序窗口的顶部通常由前面章节中描述的主菜单和/或工具栏占用,窗口的底部通常是状态栏。 状态栏用于显示有关应用程序当前状态的各种信息,如光标位置,字数,任务进度等。 对我们来说幸运的是,WPF带有一个很好的StatusBar控件,可以很容易地为您的应用程序添加状态栏功能。 让我们从一个非常基础的例子开始: <Window x:Class="WpfTutorialSamples.Com...

ccvah的博客 1万+

Anaconda镜像源切换全攻略:从清华源到恢复默认设置的完整流程

本文详细介绍了Anaconda镜像源的管理与优化,重点讲解了如何配置清华源以提升国内下载速度。内容涵盖镜像源工作原理、清华源详细配置步骤、多源管理策略、常见问题排查以及如何安全恢复默认设置,帮助用户构建完整的镜像源管理体系。

weixin_28828243的博客 1021

IOS之基本UI控件

3.1 Button控件 3.2 开关控件 3.3 滑块控件 3.4 工具栏 3.5 WebView   3.1 Button控件 iPhone的Button控件可以做的很绚丽,Button可以有多种状态: " Default State  " Highlighted State  " Selected State  " Disabled State  实现上图...

weixin_33994444的博客 717

软件测试工程师最常用的Linux系统命令大全(汇总)

cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。

1330

游戏开发实战:5种AOI算法对比(九宫格 vs 灯塔 vs 十字链表)

本文深入对比了游戏开发中五种主流AOI算法(九宫格、灯塔、十字链表等)的性能与适用场景,帮助开发者根据项目规模选择最优解决方案。通过详细的技术分析和实战数据,揭示不同算法在万人同屏等极端场景下的表现差异,为MMORPG等大型多人在线游戏提供关键性能优化指南。

weixin_29268385的博客 474

IOS 设置一个UIView里面的全部控件状态

在忙忙碌碌的开发中有可能有需求是这样的:做一个UIView控件这个控件随之我们系统某一些配置项来进行操控! 比如我们可让让这里的控件全部可用/不可用。还可以让这里面的部分控件可用/不可用! 下面就是特别简单的实现方法://UIView 就是你想控制的那个控件 [UIView.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnul

zengxiansheng2的博客 575

中山大学_数据科学与计算机_预推免

前言 2019 年 9 月中旬是中山大学预推免时间,本人没能进到夏令营,但是最后在预推免上岸也算不幸中的万幸。 记忆不一定准确,但希望能帮到他人。 想看 流程 的可以直接看总结,正文部分有本人心路历程。 预推免 中山大学的预推免大致可以分为 报道,机试,面试 三大部分,而且尤其是面试,所有人加起来总时长 3 天,幸运的是,本人被安排在第一天的下午第一场,上午就是机试,报道,机试,面试,无缝衔接。 ...

一把健 5208

element-ui中Tree树形控件节点的设置与回显

在给角色设置权限的时候,后端要求把子节点和父节点的id要一起传递过去, 当父节点的状态为选中时,说明子节点也被全部被选中, this.$refs.tree.getCheckedNodes();可以获取到父节点id在内的所有节点id, 当父节点的状态为半选中时,this.$refs.tree.getCheckedNodes(),只能获取被选中的子节点的id, 此时利用this.$refs.tree.getHalfCheckedNodes(),可以获取到半选中状态的父节点id 在回显时,后端会把角色所拥有的权

zhou_mu_mu_xi的博客 6862

一种基于OpenPose和DNN的跌倒检测软件系统(中文&英文)

学习并实现一种跌倒检测模型,此模型基于OpenPose实现逐帧人体姿态检测,使用DNN识别人体动作。检测方式有在线与离线两种,本文主要测试了离线模式,测试效果较好。

Tongzhou_Li的博客 2645

基于STM32F4XX 、HAL库的GXHT30C温湿度传感器驱动应用C语言程序设计

define GXHT30C_STATUS_WRITE_CHK (1 << 0) // 写数据校验状态。#define GXHT30C_STATUS_HUMI_TRACK (1 << 11) // 湿度跟踪报警。#define GXHT30C_STATUS_TEMP_TRACK (1 << 10) // 温度跟踪报警。#define GXHT30C_STATUS_CMD_STATUS (1 << 1) // 命令执行状态。

PP_Cottage的博客 227

1.0 Android基础--Android定义

Android是由Google公司和开放手机联盟领导并开发的一种基于Linux的自由且开放源代码的操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,主要使用于移动设备。

weixin_45874668的博客 2435

基于LSTM GRU RNN的交通流量预测-完整数据代码

基于LSTM GRU RNN的交通流量预测-完整数据代码

922

Android的四大组件

Android的四大组件 Android的四大组件 活动(activity) 服务(service) 内容提供(content provider) 广播接收器(broadcast receiver) 活动(activity)     Android 中,Activity是所有程序的根本,所有程序的流程都运行在Activity 之中,Activity可以算是开发者遇到的...

weixin_41897234的博客 747

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Android 四大组件 简介

1、 Activity Android 中,Activity 是所有程序的根本,所有程序的流程都运行在Activity 之中,Activity可以算是开发者遇到的最频繁,也是Android 当中最基本的模块之一。在Android的程序当中,Activity 一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么Activity就相当于一个网页。在Activity 当中可以添加一些B

主人公的专栏 1577

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android四大组件(应用程序的组成)是什么,功能分别是?

Android开发四大组件分别是:活动(Activity):用于表现功能。服务(Service):后台运行服务,不提供界面呈现。广播接收器(BroadcastReceiver):用于接收广播。内容提供商(ContentProvider):支持在多个应用中存储和读取数据,相当于数据库。1、ActivityAndroid 中,Activity 是所有程序的根本,所有程序的流程都运行在Activity ...

weixin_41808351的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

安卓的四大组件是什么及功能?

Android 开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库。1.活动Android中,activity是所有程序的根本,所有程序的流程都运行在activity之中,acti...

qq_41801802的博客 783

Andriod 的四大组件及其作用

        Android 开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库。...

u011533160的博客 9362

Android面试和Java面试总结

参加的Android面试: Android四大组件: Activity: Android 中,Activity 是所有程序的根本,所有程序的流程都运行在Activity 之中,Activity可以算是开发者遇到的最频繁,也是Android 当中最基本的模块之一。在Android的程序当中,Activity 一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么Activity就相当于

for future 558

Android应用程序四大组件分别是什么?各个组件所起到的作用是什么?

 Android 开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库。1.活动Android中,activity是所有程序的根本,所有程序的流程都运行在activity之中,act...

Pano✌ 2873

[置顶]Android 面试题汇总

MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0 面试题基础储备 1、Activity相关 a、Activity的特点 1、可见  2、可交互    他之所以可交互,是因为他同时实现了Window.Callback和KeyEvent.Callback, 可以处理与窗体用户交互的事件和按键事件.这两个特点,是他和ser

Jusenr的博客 490

android四大组件(应用程序的组成)是什么,功能分别是那些

  Android 开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库。1.活动Android中,activity是所有程序的根本,所有程序的流程都运行在activity之中,ac...

zx666888999的博客 4226

Android四大组件及其作用

Andriod 的四大组件及其作用         Android 开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库。 1.活动 Android中,activity是所有程...

qq_41262253的博客 2062

简单介绍Android四大组件

四大组件Android开发四大组件分别是:活动(Activity): 用于表现功能。服务(Service): 后台运行服务,不提供界面呈现。广播接收器(BroadcastReceiver):用于接收广播。内容提供商(Content Provider): 支持在多个应用中存储和读取数据,相当于数据库。 活动(Activity)Android 中,Activity是所有程序的根本,所有程序的流程都运行

skylinelin 1244

Andriod ——四大组件及其作用

Android 开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库。 1.活动 Android中,activity是所有程序的根本,所有程序的流程都运行在activity之

LXYNLYXY的博客 458

Vibe Coding与MCP服务:AI驱动的编程新范式

自然语言编程(NLP)正在重塑软件开发流程,其核心原理是将人类语言指令转化为可执行代码。这种技术通过深度学习模型实现语义理解,大幅降低了编程门槛,使开发者能专注于业务逻辑而非语法细节。在工程实践中,协议转换层和上下文管理是关键组件,前者处理自然语言到结构化指令的映射,后者维护对话状态确保一致性。Vibe Coding作为典型应用,结合MCP(Model Context Protocol)服务,实现了极速原型开发和自动化部署,特别适合快速迭代的Web应用和微服务场景。通过标准化接口和沙箱环境,这种范式既提升了

weixin_34238633的博客 316
上一篇: 控件抖动配合手机震动
下一篇: 使控件可拖拽
Coke可乐
博客等级 码龄10年 0粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值