同时使用两种方式启动服务

github快速启动 github快速启动 该命令的作用以及使用该命令的典型情况 配置 Git config用于配置Git设置。 第一次使用时,它用于在Github中设置电子邮件,用户名和编辑器。 $ git config --global core.editor emacs 它还用于设置别名,别名是其他命令的快捷方式。 $ git config --global alias.ci commit 这样,用户每次需要使用提交时都可以键入“ ci”作为快捷方式。 $ git config --global alias.unstage 'reset HEAD --' Git config可以用于存储您的Github用户名和密码,因此无需在每次推拉时都输入它。 使用该命令后,您将需要最后一次输入用户名和密码。 git config --global credential.helper store 如果您对有人访问您的计 立即下载

突然看到公司项目有个地方同时使用startService()和bindService()启动服务,做了个demo测试了一下,下面直接上代码:

Activity中:

package com.example.test3;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;

import com.example.service.ConnService;

public class ConnActivity extends Activity {

    private static final String tag = "ConnActivity";
    private MyServiceConnection mConn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_conn);

        bindServiceMothod();
    }

    private void bindServiceMothod() {
        Intent intent = new Intent(this, ConnService.class);
        mConn = new MyServiceConnection();
        startService(intent);
        bindService(intent, mConn, Context.BIND_AUTO_CREATE);
    }

    private class MyServiceConnection implements ServiceConnection {

        @Override
        public void onServiceConnected(ComponentName name, IBinder service) {
            Log.i(tag, "====onServiceConnected----------------");

            ConnService.MyBinder myBinder = (ConnService.MyBinder) service;
            myBinder.sendMsg("我是Activity!");
        }

        @Override
        public void onServiceDisconnected(ComponentName name) {
            Log.i(tag, "====onServiceDisconnected----------------");
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.i(tag,"====onDestroy-----------------");
        if(mConn != null){
            unbindService(mConn);
        }
    }
}

Service中(记得在Manifest配置):

package com.example.service;

import android.app.Service;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.util.Log;

/**
 * user: uidq0530 ,date: 2017-04-05.
 * description:
 *
 * @author xhunmon
 */

public class ConnService extends Service {

    private static final String tag = "ConnService";

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        Log.i(tag,"======onBind---------------------------");
        return new MyBinder();
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Log.i(tag,"======onCreate---------------------------");
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.i(tag,"======onStartCommand---------------------------");
        return super.onStartCommand(intent, flags, startId);
    }

    @Override
    public boolean onUnbind(Intent intent) {
        Log.i(tag,"======onUnbind---------------------------");
        return super.onUnbind(intent);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Log.i(tag,"======onDestroy---------------------------");
    }

    public class MyBinder extends Binder{
        public void sendMsg(String str){
            Log.i(tag,"=====接受的数据为:"+str);
        }
    }
}

情况1,只是使用startService(),启动后退出,如下图:

image

情况2,只是使用bindService(),启动后退出,如下图:

image

情况3,同时使用用startService()和bindService(),启动后退出,如下图:

image

结论:当同时使用两个方法启动服务时,绑定的服务只是被解绑了,而没有被销毁!

coze 怎么读取excel文件,使用循环,数据库完成LLM问答并存储 本文介绍了如何在Coze平台实现"Excel读取+循环处理+LLM问答+数据库存储"的工作流。主要分为三个步骤:1)使用代码节点解析Excel文件为问答对数组;2)通过循环节点遍历问答对,调用LLM节点生成回答;3)利用数据库节点将问答结果存储到Coze内置数据库中。文中提供了代码示例和节点配置说明,并强调了注意事项如Excel格式要求、LLM调用频率控制等。该工作流适用于批量构建知识库问答系统并持久化存储结果。 阅读详情

相关推荐

3D视觉引导技术在机器人焊接中的应用

通过对比传统的2D视觉和3D视觉技术在焊接领域的应用差异,探讨了3D视觉引导技术在提高焊接精度、适应不规则工件形状和增强自适应能力方面的优势。本文对3D视觉引导技术在机器人焊接中的应用进行了深入探讨,总结了其在提高焊接精度、适应不规则工件形状和增强自适应能力方面的优势,并通过应用案例展示了其在焊接路径规划、焊缝检测和焊接质量控制等方面的重要作用。1. 提高焊接精度:3D视觉引导技术能够精确测量焊接工件的三维形状和位置,为机器人提供精准的焊接路径规划和跟踪,从而提高焊接精度。三、3D视觉引导技术概述。

2302_79273122的博客 1835

startService和bindService混合使用

这篇文章写的比较全面,也解释了我心中的部分疑惑。共享一下: 原文地址:混合使用startService,bindService,以及tartForegroud方法使用总结 以下是原文内容: 一.上次的两个问题: 1.     在BindService为什么不调用onServiceDisConnection() 类ServiceConnection中的onS

网鱼的栈 2261

告别城市峡谷定位漂移:手把手教你用PSINS仿真INS/NHC/ODO组合导航(附代码获取)

本文详细解析了INS/NHC/ODO组合导航系统在城市峡谷环境中的应用,通过PSINS平台实现精准定位。文章涵盖核心原理、环境搭建、算法实现及性能优化,帮助开发者解决GNSS信号中断时的定位漂移问题,提升自动驾驶系统在复杂环境中的可靠性。

weixin_30329623的博客 429

Git服务器集成 · GitHub 服务器(二)

GitHub官网地址 填写你的邮箱地址和密码,姓名 一堆操作,注册完毕后,进入你的主页 输入仓库的相关信息 点击创建按钮,创建新的仓库 4、SSH 免密操作   github支持两种同步方式“https”和“ssh”。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。ssh模式比https模式的一个重要好处就是,每次push、pull、fetch等操作时,不用重复填写遍用户名密码。前提是你必须是这个项目的拥有者或者合作者,且配好了ssh key。

y76521的博客 2328

Docker部署FRP实现内网穿透

FRP是一款开源内网穿透工具,通过在公网服务器部署服务端(FRPS),内网设备运行客户端(FRPC)实现外部访问。支持TCP、UDP、HTTP等多种协议。部署时需配置服务端(如群晖NAS使用Docker)和客户端(如Windows下载可执行文件)。服务端需设置监听端口、控制面板及Token认证,客户端需指定服务器地址和相同Token。完成配置后可通过公网IP或域名访问内网资源,并在控制面板监控连接状态。

波哥技术栈 1599

用Zotero+B站Kimi,我如何把一篇顶会论文快速做成组会PPT(含完整提示词)

本文介绍如何利用Zotero和Kimi快速将顶会论文转化为组会PPT,提升学术汇报效率。通过Zotero的文献管理插件和Kimi的AI提炼技术,实现从论文阅读到PPT生成的全流程自动化,帮助研究者在90分钟内完成高质量汇报准备。

weixin_30955617的博客 499

GitHub启动GitHub Package Registry

GitHub引入了GitHub Package Registry ,这是一个集成到GitHub中的软件包管理服务,允许开发人员在其源代码旁边发布私有或公共软件包。 GitHub Package Registry现在可以在一个有限的beta版本中使用。 GitHub Package Registry提供了GitHub全球CDN支持的下载。 包可以私下或公开托管,并用作项目中的依赖项。 与Gi...

cxt70571的博客 450

基于STM32设计的老人摔倒检测报警系统(OneNet+MQTT)(235)

基于STM32设计的老人摔倒检测报警系统,不仅能够实时监测老人的位置信息,方便在紧急情况下快速定位,还能通过陀螺仪模块精确检测老人的身体姿态,一旦判断为摔倒状态,系统将立即触发蜂鸣器报警,并通过4G网络向指定联系人发送短信警示,确保老人能够迅速得到援助。此外,系统还支持老人主动按下设备上的按键发送求助短信,增强了系统的灵活性和实用性。

4690

⭐️Git&Github注册、登录和使用方法

通过本文的指引,您已经学会了如何在GitHub上注册账号、登录账户,并掌握了Git的基本使用方法。现在,您可以开始利用Git和GitHub来管理您的代码项目了。无论是个人项目还是团队协作,Git和GitHub都能为您提供强大的版本控制和代码托管服务。祝您在编程的道路上越走越远!

Python老吕的博客 1万+

多模态论文笔记——VQ-VAE和VQ-VAE-2

本文详细介绍VQ-VAE和VQ-VAE-2的原理和训练过程,为后面的dVAE在DALLE中的使用打下坚实的基础。

haopinglianlian的博客 3299

【第1章>第5节】SOM自组织映射网络的理论学习与MATLAB仿真

自组织映射网络(Self-Organizing Map,SOM)是一种无监督学习的人工神经网络,由芬兰学者Teuvo Kohonen于1981年提出,也被称为Kohonen网络。它的主要功能是将高维输入数据映射到低维(通常是二维)的离散网格上,同时保持输入数据的拓扑结构,即相邻的输入数据在映射后的网格上也相邻。

FPGA/MATLAB学习教程/源码/项目合作开发 401

com.android.sadk卸载不掉,Android的Service的两种方式以及使用

Service根据使用方式有两种:startService、bindService。区别:①启动方式:前者startService、后者bindService;②和Activity联系:前者Acitivty销毁,service仍然继续运行,后者跟随Acitivity一起销毁;③方法调用和数据交换:前者不可以,后者可以;④回调的周期函数:前者是onStartCommand,后者是onBind⑤结束方...

weixin_39601794的博客 281

计算机视觉与深度学习 | 基于Matlab的多特征融合可视化指纹识别系统(附完整代码)

此系统展示了一个完整的指纹识别流程,实际应用中可以根据需求进一步优化算法,如改进方向场计算、增加脊线频率特征、使用更精确的匹配算法等。

尘世冰封的专栏 360

python启动appium服务_appium--python启动appium服务

前戏前面我们都是在cmd下通过输入appium加端口号来启动服务的,在我们做自动化的时候,我们当然不希望我们手动启动appium服务,而是希望通过脚本自动启动appium服务。我们可以使用subprocess模块,该模块可以创建新的进程,并且连接到进程的输入,输出,错误等管道信息,并且可以获取进程的返回值使用python启动appium服务,端口配置如下appium服务器端口:4723,bp端口为...

weixin_39738273的博客 267

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

在Windows下MySQL启动与停止方法

     MySQL比较好玩一点就是它可以用多种方式启动,当然它也可以用多种方式关闭。下面我就MySQL的几种启动方式简单的谈一谈,希望可以给大家提供一些参考。        第一种,用mysqld-nt来启动。    在没有进行服务安装时以这种方式启动是最方便的。在控制台,将路径切换到MySQL的bin包下面,输入命令start  mysqld-nt(当然也可以只用命令mys

ge_haiming的专栏 4万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linun服务器启动redis

下载 wget http://download.redis.io/releases/redis-4.0.1.tar.gz 安装 cd redis-4.0.1/ make install 启动有两种方式 1.直接启动 2.通过redis.conf 启动(推荐) 直接启动 启动服务端6380端口()  默认配置启动 redis-server redis-server –-port 6379 *...

yuyue_999的博客 156

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Hyperledger Fabric 入门笔记(十九)Fabric V2.5 使用本地启动方式部署测试网络

网络启动后,可以在网络上部署链码。注:如果想将网络保持在最低规模,可以从两个排序节点、一个Org1的Peer节点和一个Org1的Peer Admin开始(需要两个排序节点才能实现Raft共识(2/ 3),而Peer节点可以是Org1的一个,因为背书策略设置为任何单个组织)。test-network-nano-bash将建立一个支持TLS的多节点网络,包含有一个排序组织(3个排序节点)和两个对等组织(每个组织有两个对等体)的通道,并且允许单个组织批准和提交链码(与测试网络不同,测试网络需要两个组织背书)。

sbsy123456的博客 2141

android服务的周期生命,Android中服务的生命周期与两种方式的区别

服务的生命周期跟Activity的生命周期类似。但是生命周期甚至比你关注服务如何创建和销毁更重要,因为服务能够在用户不知情的情况下在后台运行。服务的生命周期---从创建到销毁---可以被分为以下两个路径:1.启动类型的服务:onCreate()- >onStartCommand()->Service running--调用context.stopService() ->on...

weixin_39874269的博客 285

ubuntu 16.04安装redis的两种方式(apt和编译方式)和卸载

ubuntu 16.04安装redis 方式一 :apt安装 在 Ubuntu 系统安装 Redi 可以使用以下命令: $sudo apt-get update $sudo apt-get install redis-server 启动 Redis $ redis-server 查看 redis 是否启动? $ redis-cli 以上命令将打开以下终端: redis 127.0...

摩尔的博客 3万+

windows 下命令行启动、停止mysql

第一种,用mysqld-nt来启动。 在没有进行服务安装时以这种方式启动是最方便的。在控制台,将路径切换到MySQL的bin包下面,输入命令 start mysqld-nt (也可以只用命令mysql-nt来启动,但我并不推荐这样做),这样服务就启动了 第二种,以Windows服务的方式启动。 当然以这种方式启动时,首先要确认您的机子上已经安装MySQL服务。那么就先来介绍一下MySQL服务的...

博客 6347

Redis的启动方式和关闭方式

启动Redis的方式有三种 (1)前台启动 在任何目录下执行 redis-server (2)后台启动 在任何目录下执行 reids-server & (3)启动redis服务时 指定配置文件:redis-server redis.conf(这个redis.conf需要是正确的配置文件路径) 关闭的方式有两种 (1)通过kill命令 ps -aux | grep redis 查看进程id kill -9 pid 强制关闭 (2)通过redis-cli关闭 redis-cli shu

小信的博客 1008

flask 从安装到启动服务

安装: pip install flask web开发: app.py from flask import Flask,request,make_response from flask import jsonify app = Flask(__name__) #hello world @app.route('/') def index(): return '<h1&a

Hayley-L 959

linux设置默认启动的服务 NFS VSFTPD

启动vsftpd:vsftpd有两种启动方式 自启动或者由xinetd服务启动 修改配置文件中的listen可以设置启动方式 listen=YES则为自启动,NO则由xinetd启动。 值得注意的是采用自启动的方式命令:/usr/local/sbin/vsftpd启动后当前终端会被占据。永久打开或则关闭 chkconfig vsftpd on chkconfig vsftpd of

scalad 1040

Android的Service了解和两种启动方式

【声明】此文转载自:http://liangruijun.blog.51cto.com/3061169/647804/ ——尊重作者,知识无价,交流无限! 一.Service的简介 1.Service介绍和作用 Service是Android系统中的四大组件之一,它是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序。比如我们播放音乐的时候,有可能想边听音乐

指尖飞落的博客 1140

项目发布的两种方式

第一种前后端不分离的发布方式 1)fe里运行 2)be里通过expressjs.com.cn的快速入门中的express生成器   yarn global add express_generator/npm install express_generator -g 3)be里输入express -e 4)be里yarn 5)be里删除public里的东西(如果有的话) 6)...

denggen20020210的博客 308

windows 下命令行启动停止mysql

MySQL比较好玩一点就是它可以用多种方式启动,当然它也可以用多种方式关闭。下面我就MySQL的几种启动方式简单的谈一谈,希望可以给大家提供一些参考。          第一种,用mysqld-nt来启动。     在没有进行服务安装时以这种方式启动是最方便的。在控制台,将路径切换到MySQL的bin包下面,输入命令start  mysqld-nt(当然也可以只用命令mysql-

hijiankang的专栏 8万+
上一篇: 回调与观察者模式的实现原理
下一篇: 笔记之git入门
秦城季
博客等级 码龄10年 46粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值