LocalBroadcastManager 的使用

一、使用本地广播发送一条广播(本例为自己发送自己接收,本地广播也可以是其他应用接收)然后接收到广播时回调Receiver类中的回调方法onReceive()在此方法中自定义发出通知

代码

 1 package com.qf.broadcastreceiver06;
 2 
 3 import android.app.Activity;
 4 import android.app.Notification;
 5 import android.app.NotificationManager;
 6 import android.content.BroadcastReceiver;
 7 import android.content.Context;
 8 import android.content.Intent;
 9 import android.content.IntentFilter;
10 import android.graphics.BitmapFactory;
11 import android.os.Bundle;
12 import android.support.v4.app.NotificationCompat;
13 import android.support.v4.content.LocalBroadcastManager;
14 import android.view.View;
15 
16 public class MainActivity extends Activity {
17 
18     LocalBroadcastManager localBroadcastMgr;//本地广播管理器
19     
20     MyReceiver myReceiver;
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         super.onCreate(savedInstanceState);
24         setContentView(R.layout.activity_main);
25         
26         //获取本地广播管理器对象
27         localBroadcastMgr=LocalBroadcastManager.getInstance(getApplicationContext());
28         
29         myReceiver=new MyReceiver();
30         //注册本地广播接收器
31         localBroadcastMgr.registerReceiver(myReceiver, new IntentFilter("com.qf.broadcast.disen"));
32     }
33 
34     public void sendBroadcast(View v){//发送本地广播
35         
36         Intent intent=new Intent("com.qf.broadcast.disen");
37         
38         //通过本地广播管理器来发送广播
39         localBroadcastMgr.sendBroadcast(intent);
40     }
41     
42     
43     @Override
44     protected void onDestroy() {
45         super.onDestroy();
46         
47         //取消注册本地广播接收器
48         localBroadcastMgr.unregisterReceiver(myReceiver);
49     }
50     
51     //定义广播接收器
52     class MyReceiver extends BroadcastReceiver{
53         @Override
54         public void onReceive(Context context, Intent intent) {
55             // TODO Auto-generated method stub
56             //发送通知
57             
58             //获取系统的通知管理器组件
59             NotificationManager notifyMgr=
60                     (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
61         
62             //实例化广播构造器
63             NotificationCompat.Builder builder=
64                     new NotificationCompat.Builder(getApplicationContext());
65             
66             //设置通知的小图标、标题、内容、滚动内容、动作等
67             builder.setSmallIcon(android.R.drawable.ic_menu_call)
68                    .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
69                    .setContentTitle("提示")
70                    .setContentText("最新消息:暂定今天下午5点开会,请准时回来.....")
71                    //设置通知在状态栏里滚动
72                    .setTicker("最新消息:暂定今天下午5点开会,请准时回来.....最新消息:暂定今天下午5点开会,请准时回来.....最新消息:暂定今天下午5点开会,请准时回来.....")
73                    .setPriority(NotificationCompat.PRIORITY_MAX)
74                    .setDefaults(Notification.DEFAULT_SOUND);
75                    
76             notifyMgr.notify(1, builder.build());
77             
78         }
79     }
80 }
MainActivity.java

效果如下:

转载于:https://www.cnblogs.com/bimingcong/p/4820434.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/419556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android xml正方形,使用Android Constraintlayout创建一排均匀分布的正方形

我正在努力创建一个由均匀分布的正方形链组成的布局,这些正方形可以填充可用空间。使用Android Constraintlayout创建一排均匀分布的正方形我到底想要的布局,看起来像这样:的想法是,与不同的宽高比手机这个正方形成长一点点地使用…

oracle之单行函数之子查询课后练习2

1. 查询和Zlotkey相同部门的员工姓名和雇用日期 a) select last_name,hire_date b) from employees c) where department_id ( d) select department_id e) from employees f) where last_name Zlotkey g…

JavaWeb 如何防止表单重复提交 - 使用Token,令牌

JavaWeb 如何防止表单重复提交 - 使用Token,令牌 说到重复提交 ,应该想到两种场景:1. 在下单,或者支付 这种情况 那么不允许 刷新,不允许后退再点击提交(后退之后提交会失败,修改了也不行&…

oracle之创建和管理表之练习题

51. 利用子查询创建表 myemp, 该表中包含 employees 表的 employee_id(id), last_name(name), salary(sal), email 字段1). 创建表的同时复制 employees 对应的记录create table myemp asselect employee_id id, last_name name, salary sal, email from employees 2). 创建表…

android icu4c 7.1编译报错,android4.0编译系统时候遇到的错误集

1、Android library XXX.so not in prelink map 错误解决在编译自己的Android library时可能会出现library XXX.so not in prelink map 错误,这是由于Android的预编译设置引起的,/build/core/prelink-linux-arm.map文件描述了预编译的模块需要修改所在文…

oracle之数据处理

--创建表 create table emp3 as select employee_id,last_name,hire_date,salary from employees--查询表 select * from emp3--插入表 insert into emp3 values(1001,AA,sysdate,10000) 运行结果 插入对应三项 --空值用null代替 --复制表 insert into emp3(last_name,employe…

HDU 4635(强连通分量分解

题目:给出一个有向图,要求添加最多的边数,使得图仍然不强连通. 思路:首先这个图在添加边之后肯定变成了两个强连通分量,现在就看怎么分.然后我们可以注意到,原图进行强连通分量分解之后必然存在一些分量的出度或入度为0,最小的分量肯定在这些分量之中.那么找出这个分量就可以得…

Android方法的概括,android中的Filter接口简介

一、结构public abstract class Filter extends Objectjava.lang.Objectandroid.widget.Filter二、概述过滤器通过过滤模式来约束数据,通常由实现了Filterable接口的子类来生成。 过滤操作是通过调用filter(CharSequence)或者filter(CharSequence, android.widget.F…

oracle之数据处理之课后练习

55. 更改 108 员工的信息: 使其工资变为所在部门中的最高工资, job 变为公司中平均工资最低的 job1). 搭建骨架update employees set salary (), job_id () where employee_id 108;2). 所在部门中的最高工资 select max(salary)from employeeswhere department_id (select …

nyoj--79--导弹拦截(动态规划)

拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一…

android webview 长按菜单拦截,javascript-在Android上长按时禁用上下文菜单

javascript-在Android上长按时禁用上下文菜单我想禁用长按(触摸并按住)Web应用程序中的图像后出现的上下文菜单。 我见过关于如何做到这一点的不同想法,但似乎没有一个对我有用。有没有办法通过HTML / CSS / Javascript在Android上执行此操作?12个解决方…

oracle之数据处理之约束1

--创建表 create table emp4( id number(10) constraint emp2_id_nn not null, name varchar2(20) not null, salaty number(10,2) )--查询表 select *from emp4--插入 insert into emp4 values(1001,geyao,2000) 运行结果 --创建表 create table emp5( --列级约束 id numbe…

java中注解的使用与实例(一)

注解目前非常的流行,很多主流框架都支持注解,而且自己编写代码的时候也会尽量的去用注解,一时方便,而是代码更加简洁。 注解的语法比较简单,除了符号的使用之外,它基本与Java固有语法一致。Java SE5内置了三…

android sqlite 操作类封装,[Android] Sqlite 数据库操做 工具封装类

sqlite 数据库封装类htmlDatabaseUtil.java(封装的类)javapackagecom.jack.androidbase.tools;importandroid.content.ContentValues;importandroid.content.Context;importandroid.database.Cursor;importandroid.database.SQLException;importandroid.database.sqlite.SQLite…

oracle之数据处理之约束2

--修改约束 alter table emp5 modify (salary number(10,2) not null)运行结果 --删除约束 alter table emp5 drop constraint emp5_name_nn 运行结果

css实现一个写信的格式

一、目标 目标实现如下效果: 二、完成 1、分析 这个效果看起来很简单,实际上可能并不那么容易实现。 首先是全部东西都居中显示,除了“亲爱的starof”这个称呼的地方。这也是难点,也是本文要重点说的地方。 开始我尝试将“ 亲爱的…

android 6.0版本名字,棉花糖Marshmallow 是Android 6.0的名字

Android 6.0 五月下旬在 I/O 大会上亮相,将于今年秋天与用户见面。但是依照惯例,谷歌并没有宣布新 Android 的代号全称,而 Android M 中 M 所代表的甜品:Marshmallow(棉花糖)。并不是MM巧克力豆,巧克力豆的粉丝&#x…

Java达到MySQL数据库备份(两)

博客《Java实现MySQL数据库备份(一)》使用I/O流的方式实现了MySQL数据库的备份,这样的方法比較繁杂。以下介绍还有一种备份MySQL数据库的方法: import java.io.File; import java.io.IOException;/*** MySQL数据库备份* * author …

找不到android的sdk,CircleCI – 找不到Android Studio项目的SDK位置

尝试在CircleCI上构建项目时,在gradle构建期间发生以下错误.这个问题的原因是什么?我正在运行CircleCI 2.0.FAILURE: Build failed with an exception.What went wrong: A problem occurred configuring project ‘:app’.SDK location not found. Define location …