MainActivity :
package com.amaker.zzl;
import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
MyReceiver r = new MyReceiver();
private Button btn_send;
public static final String MY_ACTION = "com.amaker.zzl.action";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn_send = (Button) findViewById(R.id.send_button1);
btn_send.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//发出一个广播,指定一个action
sendBroadcast(new Intent(MY_ACTION));
}
});
}
//在onResume这个方法里面注册广播接收器
//这里采用动态方法来注册广播接收器
@Override
protected void onResume() {
super.onResume();
IntentFilter f = new IntentFilter();
f.addAction(MY_ACTION);
registerReceiver(r, f);
}
//在onPause这个方法里取消注册
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(r);
}
}
MyReceiver:
package com.amaker.zzl;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyReceiver extends BroadcastReceiver{
private NotificationManager nm;
private Notification n;
public static final int ID = 1;
/**
* 广播接收器收到广播后,发出一个通知
* ZZL
*/
@Override
public void onReceive(Context context, Intent intent) {
String service = context.NOTIFICATION_SERVICE;
nm = (NotificationManager) context.getSystemService(service);
n = new Notification();
//定义通知的一些属性
n.icon = R.drawable.icon;
n.tickerText = "tickerText...";
n.when = System.currentTimeMillis();
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, new Intent(), 0);
n.setLatestEventInfo(context, "通知标题", "具体的通知内容", contentIntent);
//利用通知管理器把封装好的通知发出
nm.notify(ID, n);
}
}
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:text="SEND"
android:id="@+id/send_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
分享到:
相关推荐
android服务自启动Service以及BroadcastReceiver和Notification.zip
android service Notification BroadcastReceiver Intent 安装的服务开机自启动,service定时的打印消息,消息同时显示在通知栏,窗体界面的跳转,自定义控件的开发。系统广播,定时广播,轮询广播等。...
这个项目曾经是Coursera Android课程的作业: : 在这里回答以下问题: 如何动态注册和注销 BroadcastReceiver? 如何将意图过滤器添加到 BroadcastReceiver? 普通广播和有序广播有什么区别? 以及如何使用有序广播...
介绍BroadcastReceiver使用的demo,具体的使用方法可以参看我的博客
BroadCastReceiver
BroadCastReceiver、Notification简单使用,以及8.0的Notification Channel问题
Android中BroadcastReceiver的创建与使用步骤.pdf 学习资料 复习资料 教学资源
android的broadcastReceiver的介绍。
BroadcastReceiver,两种注册方式
Android高级应用源码-音乐播放器消息通知栏切歌栏效果(Notification+BroadcastReceiver).zip
关于BroadcastReceiver的静态注册,动态注册,本地广播,有序广播的使用的简单测试代码。
安卓broadcastReceiver的使用,动态注册和注销,安卓broadcastReceiver的优先级
Android \BroadCastReceiver 最全的简介
BroadcastReceiver学习(01)
android BroadcastReceiver相关测试代码。我测试所用的。
该代码实现了发送短信,接收短信的功能。实现了BroadCastReceiver的简单使用。
Android移动开发检测网络状态并使用BroadcastReceiver(广播接收者)进行接收网络变化的后续处理
使用BroadcastReceiver和接口回调实现实时监控(监测)网络状态。
android BroadcastReceiver 源码 学习