当前位置: 首页 > 编程日记 > 正文

Android -- 利用Broadcast开启Service


Broadcast和Service都是Android四大组建之一的。

这里的广播是动态的,自己注册的一个广播。

这种最典型的用法就是利用开机广播,然后再起自己的服务,也就是在Android手机中做到开启启动。

Service与Broadcast                                                                

复制代码
public class MyService extends Service {private MyReceiver receiver;@Overridepublic IBinder onBind(Intent intent) {// TODO 自动生成的方法存根return null;}private void methodInService() {Toast.makeText(this, "我是服务的方法", Toast.LENGTH_LONG).show();}@Overridepublic void onCreate() {receiver = new MyReceiver();IntentFilter filter = new IntentFilter();filter.addAction("com.yydcdut.braodcasttoservice");registerReceiver(receiver, filter);super.onCreate();}private class MyReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("我是service内部的广播接收者!!");methodInService();}}@Overridepublic void onDestroy() {unregisterReceiver(receiver);receiver = null;super.onDestroy();}}
复制代码

这里的MyReceiver是一个内部类,没有在AndroidManifest.xml中注册这个组建,那么就需要执行注册广播这个动作。

receiver = new MyReceiver();IntentFilter filter = new IntentFilter();filter.addAction("com.yydcdut.braodcasttoservice");registerReceiver(receiver, filter);

IntentFilter也就与Manifest里面的相同。也注册也就有注销,当这个服务Destroy的时候就注销掉广播。

MainActivity                                                                          

复制代码
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Intent intent = new Intent(this,MyService.class);startService(intent);}//Buttonpublic void call(View view){Intent intent = new Intent();intent.setAction("com.yydcdut.braodcasttoservice");sendBroadcast(intent);}}
复制代码

com.yydcdut.braodcasttoservice这个前后呼应,广播就找到了这个Action。

我是天王盖地虎的分割线                                                               

源代码:http://pan.baidu.com/s/1dD1Qx01

利用广播调用服务的方法.zip




本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3810001.html,如需转载请自行联系原作者

相关文章:

资料分享:推荐一本《李宏毅机器学习》开源电子书!

背景 今天在 github 上看到了 datawhale 发布的 李宏毅机器学习笔记。 https://datawhalechina.github.io/leeml-notes 其目录如下: P1 机器学习介绍P2 为什么要学习机器学习P3 回归P4 回归-演示P5 误差从哪来?P6 梯度下降P7 梯度下降(用…

Python 中常见的配置文件写法

相信学习Python或者正在进行Python工作的小伙伴都会有一个疑问,为什么要写配置文件呢?在开发过程中,我们常常会用到一些固定参数或者是常量。对于这些较为固定且常用到的部分,往往会将其写到一个固定文件中,避免在不同的模块代码…

技术图文:Python描述符 (descriptor) 详解

背景 今天在B站上学习“零基础入门学习Python”这门课程的第46讲“魔法方法:描述符”,这也是我们组织的 Python基础刻意练习活动 的学习任务,其中有这样的一个题目。 练习要求: 先定义一个温度类,然后定义两个描述符…

[转]自定义hadoop map/reduce输入文件切割InputFormat

本文转载自:http://hi.baidu.com/lzpsky/blog/item/99d58738b08a68e7b311c70d.html   hadoop会对原始输入文件进行文件切割,然后把每个split传入mapper程序中进行处理,FileInputFormat是所有以文件作 为数据源的InputFormat实现的基类&…

使用深度学习检测DGA(域名生成算法)——LSTM的输入数据本质上还是词袋模型...

from:http://www.freebuf.com/articles/network/139697.html DGA(域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检测的技术手段。例如,一个由Cryptolocker创建的DGA生成域xeogrhxquuubt.com,如…

学习Python开发培训有用吗

学习Python开发培训有用吗?这是目前很多人都比较关注的一个问题,Python语言在最近几年是广受IT互联网行业关注的, 下面我们就针对这问题来详细的分析一下。 学习Python开发培训有用吗?Python是被广泛使用的高级编程语言,Python解释器本身几…

Web性能优化实践——应用层性能优化

随着公司项目的进一步推广,用户数量的增加,已经面临着单台服务器不能负载的问题。 这次的优化由于时间关系主要分两步走,首先优化应用层代码以提高单台服务器的负载和吞吐率。之后再进行分表,引入队列、MemCached等分布式应用。 项…

技术图文:Python魔法方法之属性访问详解

背景 今天在B站学习“零基础入门学习 Python”中的第45节“魔法方法:属性访问”,这也是我们组织的 Python基础刻意练习活动 的学习任务,其中有这样的一个题目。 练习要求: 写一个矩形类,默认有宽和高两个属性。如果…

chmod权限设置

drwxr-xr-x. 7 root root 4096 Sep 26 20:16 sysconfig-rw-r--r--. 1 root root 1150 Aug 31 18:46 sysctl.conflrwxrwxrwx. 1 root root 14 Aug 31 17:21 system-release -> centos-release例如:-rw-r--r--第一个代表文件类型:-普通文件:…

【Python培训基础】一篇文件教你py文件打包成exe

场景: 如果要将我们编写好的代码给别人使用,如果要他们直接使用我们的代码,就需要安装各种编译软件以及第三方模块,还要对软件操作,编程有一定的了解,这对使用者的要求比较高,不是很方便,为了解决这一问题,我们可以选择将我们编写的代码,编译成一个可执行文件,这样,就可以实现跨…

刻意练习:Python基础 -- Task06. 字典与集合

背景 我们准备利用17天时间,将 “Python基础的刻意练习” 分为如下任务: Task01:变量、运算符与数据类型(1day)Task02:条件与循环(1day)Task03:列表与元组(…

WCF - Session 剖析

WCF中的Session WCF是MS基于SOA建立的一套在分布式环境中各个相对独立系统进行通信的构架,实现了最新的基于WS-*规范。按照SOA的原则,相对独自的业务逻辑以service的形式封装,调用者通过Messaging的方式调用Service。对于承载着某个业务功能的…

mui 微信支付 与springMVC服务器交互

昨天搞定了微信支付,没有想象中的难,主要是官方的demo不全好多东西要自己琢磨,mui端的就不写了支付宝的有了一模一样.上java端的首先是jar包 一个是用来解析xml文件 一个是用来解析json 当然可以替代 然后是工具类当然并不是全都用的到. public class ConfigUtil { /** * 服务…

Python零基础自学会有哪些弊端

Python在人工智能领域的发展前景非常好,很多人都想要学习Python技术,有一些小伙伴会选择通过自学来学习,但是如果是零基础,自学的话一定要注意这些弊端,下面就为大家详细的介绍一下Python零基础自学会有哪些弊端? Pyt…

技术图文:如何利用 Turtle 绘制一棵漂亮的樱花树

背景 最近看到很多机构在推动“青少年编程能力等级标准”的制定以及相关考试的测评,看样子今年年底这个事情就能够确定,明天上半年在一些大中城市就会全面铺开。 《青少年编程能力等级》标准发布,年底前将在部分地区落地青少年编程能力等级…

Python 是否是下一个 PHP?为什么?

前几天和一个看好 Python 的 Rails 开发者聊天,他看好 Python 的原因就是 PHP 统治今天的网络应用开发。而 Python 很像下一个 PHP 。 『下一个 PHP』如何定义?是指流行程度么?如果是的话,我觉得 Python 不会像 PHP 那样流行。根本…

正确使用STL-MAP中Erase函数

一切尽在代码中。 #include <iostream> #include <map> #include <string> using namespace std ;int main(void) { map<int, string> m ;m.insert(pair<int, string>(1, "abc")) ;m.insert(pair<int, string>(2, "def&qu…

学完UI设计可以从事哪些工作

最近有很多同学都会问到一个问题&#xff0c;就是学完UI设计可以从事哪些工作?对于正在学习UI设计的同学和已经学完UI设计的同学们&#xff0c;可以来看看下面文章的详细介绍就知道了。 学完UI设计可以从事哪些工作? 一、交互设计师。 学习UI设计之后就可以做交互设计师了&am…

刻意练习:Python基础 -- Task08. 异常处理

背景 我们准备利用17天时间&#xff0c;将 “Python基础的刻意练习” 分为如下任务&#xff1a; Task01&#xff1a;变量、运算符与数据类型&#xff08;1day&#xff09;Task02&#xff1a;条件与循环&#xff08;1day&#xff09;Task03&#xff1a;列表与元组&#xff08;…

Winform 控件自适应 JSP 入门登录案例

明儿在放&#xff0c;先睡转载于:https://www.cnblogs.com/javabin/archive/2011/09/26/2192402.html

MyEclipse对Struts2配置文件较检异常 Invalid result location value/parameter

有时在编写struts.xml时会报错&#xff0c;但是找不出有什么她方有问题。也能正常运行 MyEclipse有地方去struts的xml进行了验证&#xff0c;经查找把这里 的build去掉就可以了 本文转自lpxxn博客园博客&#xff0c;原文链接&#xff1a;http://www.cnblogs.com/li-peng/p/3791…

学Python有哪些优势

Python在人工智能领域应用是比较广泛的&#xff0c;近几年&#xff0c;越来越多的人对Python技术比较感兴趣&#xff0c;想要学习&#xff0c;那么具体学Python有哪些优势呢?我们来看看下面的详细介绍就知道了。 学Python有哪些优势? 1.Python很受欢迎 流行程度似乎不是衡量价…

MongoDB 正则表达式

阅读目录 示例不区分大小写数组使用正则表达式正则中包含变量回到顶部示例 MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式。 > db.col.find() { "_id" : ObjectId("56c6bbef64799370c0ef358a"), "x" : "hello world", &…

刻意练习:Python基础 -- Task09. else 与 with 语句

背景 我们准备利用17天时间&#xff0c;将 “Python基础的刻意练习” 分为如下任务&#xff1a; Task01&#xff1a;变量、运算符与数据类型&#xff08;1day&#xff09;Task02&#xff1a;条件与循环&#xff08;1day&#xff09;Task03&#xff1a;列表与元组&#xff08;…

Java学习必不可少的网站,快收藏起来

java技术在IT互联网行业的发展前景一直在提升&#xff0c;越来越多的人都在学习java技术&#xff0c;今天小编来给大家提供一些学习Java的网站集合&#xff0c;希望能够帮助到正在学习java技术的同学。 Java学习必不可少的网站&#xff0c;快收藏起来! 1. Stackoverflow Stacko…

刻意练习:Python基础 -- Task11. 魔法方法

背景 我们准备利用17天时间&#xff0c;将 “Python基础的刻意练习” 分为如下任务&#xff1a; Task01&#xff1a;变量、运算符与数据类型&#xff08;1day&#xff09;Task02&#xff1a;条件与循环&#xff08;1day&#xff09;Task03&#xff1a;列表与元组&#xff08;…

Oracle中的MERGE语句

转自http://blog.chinaunix.net/space.php?uid16981447&doblog&cuid430716做了简单的格式整理&#xff0c;加入了一点点原创的东西。Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选择行来upda…

C#从数据库导出数据[excel]

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using MySql.Data.MySqlClient;using Microsoft.Office.Interop.Excel;using Excel Microsoft.Office.Interop.Excel; //使用命名空间别名using System.Reflection; …

UI设计培训中的扁平化理念

本文是为正在学习UI设计的同学们整理的一份资料&#xff0c;主要讲的是UI设计培训中的扁平化理念&#xff0c;扁平化的设计是抛弃一切装饰的设计&#xff0c;扁平化设计使得用户操作起来更加简洁、高效和舒适。简洁大方的交互界面设计自然能够引导用户&#xff0c;并且在短时间…

刻意练习:Python基础 -- Task12. 模块

背景 我们准备利用17天时间&#xff0c;将 “Python基础的刻意练习” 分为如下任务&#xff1a; Task01&#xff1a;变量、运算符与数据类型&#xff08;1day&#xff09;Task02&#xff1a;条件与循环&#xff08;1day&#xff09;Task03&#xff1a;列表与元组&#xff08;…