- 浏览: 670302 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
qinshubao152:
参考:http://www.see-source.com/bl ...
关于android USB Host 串口编程 -
q328965539:
哥们 我做的数据也都是错误的啊····我怎么可以知道自己otg ...
关于android USB Host 串口编程 -
hgkmail:
好文
android中跨进程通讯的4种方式 -
cczscq:
楼主,我这里有个问题!我这里有个自己制作的font.ttf,这 ...
android字体的工作原理 -
blueice1986:
既然springMVC比struts好那么多的话那struts ...
为什么有了Struts 还要Spring MVC
/************ 动态注册 ************/
TextMain.java
package lxy.litsoft;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class TestMain extends Activity {
BroadcastReceiver bcr; //声明一个广播接收器
Button btSendMessage; //声明一个按钮
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//实例化广播接收器对象
bcr = new BroadcastReceiver(){
public void onReceive(Context context, Intent intent) {
Log.d("test", "^-^, Have received Massage!");
}
};
//实例化按键对象并为其添加监听器
btSendMessage = (Button)findViewById(R.id.button01);
btSendMessage.setOnClickListener(new ButtonListener());
}
class ButtonListener implements OnClickListener{
public void onClick(View v) {
//当点击按钮的时候,就发送广播
Intent intent = new Intent();
intent.setAction("ABC");
sendBroadcast(intent);
}
}
protected void onStart() {
super.onStart();
//注册广播接收器(动态注册)
IntentFilter filter = new IntentFilter();
filter.addAction("ABC");
this.registerReceiver(bcr, filter);
}
protected void onStop() {
super.onStop();
//取消注册广播接收器
this.unregisterReceiver(bcr);
}
}
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"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/button01"
android:text="SendMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
</LinearLayout>
/************ 静态注册 ************/
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="lxy.litsoft"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".TestMain"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="MyBroadcastReciever">
<intent-filter>
<action android:name="ABC"></action>
</intent-filter>
</receiver>
</application>
</manifest>
TestMain.java
package lxy.litsoft;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class TestMain extends Activity {
Button btSendMessage; //声明一个按钮
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btSendMessage = (Button)findViewById(R.id.button01);
btSendMessage.setOnClickListener(new ButtonListener());
}
class ButtonListener implements OnClickListener{
public void onClick(View v) {
//当点击按钮的时候,就发送广播
Intent intent = new Intent();
intent.setAction("ABC");
sendBroadcast(intent);
}
}
}
MyBroadcastReciever.java
package lxy.litsoft;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class MyBroadcastReciever extends BroadcastReceiver{
public void onReceive(Context context, Intent intent) {
Log.d("test", "^-^, Have received Massage!");
}
}
动态注册和静态注册一个BroadcastReceiver的区别:
动态注册较静态注册灵活。实验证明:当静态注册一个BroadcastReceiver时,不论应用程序是启动与否。都可以接受对应的广播。
动态注册的时候,如果不执行unregisterReceiver();方法取消注册,跟静态是一样的。但是如果执行该方法,当执行过以后,就不能接受广播了。
TextMain.java
package lxy.litsoft;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class TestMain extends Activity {
BroadcastReceiver bcr; //声明一个广播接收器
Button btSendMessage; //声明一个按钮
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//实例化广播接收器对象
bcr = new BroadcastReceiver(){
public void onReceive(Context context, Intent intent) {
Log.d("test", "^-^, Have received Massage!");
}
};
//实例化按键对象并为其添加监听器
btSendMessage = (Button)findViewById(R.id.button01);
btSendMessage.setOnClickListener(new ButtonListener());
}
class ButtonListener implements OnClickListener{
public void onClick(View v) {
//当点击按钮的时候,就发送广播
Intent intent = new Intent();
intent.setAction("ABC");
sendBroadcast(intent);
}
}
protected void onStart() {
super.onStart();
//注册广播接收器(动态注册)
IntentFilter filter = new IntentFilter();
filter.addAction("ABC");
this.registerReceiver(bcr, filter);
}
protected void onStop() {
super.onStop();
//取消注册广播接收器
this.unregisterReceiver(bcr);
}
}
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"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/button01"
android:text="SendMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
</LinearLayout>
/************ 静态注册 ************/
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="lxy.litsoft"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".TestMain"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="MyBroadcastReciever">
<intent-filter>
<action android:name="ABC"></action>
</intent-filter>
</receiver>
</application>
</manifest>
TestMain.java
package lxy.litsoft;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class TestMain extends Activity {
Button btSendMessage; //声明一个按钮
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btSendMessage = (Button)findViewById(R.id.button01);
btSendMessage.setOnClickListener(new ButtonListener());
}
class ButtonListener implements OnClickListener{
public void onClick(View v) {
//当点击按钮的时候,就发送广播
Intent intent = new Intent();
intent.setAction("ABC");
sendBroadcast(intent);
}
}
}
MyBroadcastReciever.java
package lxy.litsoft;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class MyBroadcastReciever extends BroadcastReceiver{
public void onReceive(Context context, Intent intent) {
Log.d("test", "^-^, Have received Massage!");
}
}
动态注册和静态注册一个BroadcastReceiver的区别:
动态注册较静态注册灵活。实验证明:当静态注册一个BroadcastReceiver时,不论应用程序是启动与否。都可以接受对应的广播。
动态注册的时候,如果不执行unregisterReceiver();方法取消注册,跟静态是一样的。但是如果执行该方法,当执行过以后,就不能接受广播了。
发表评论
-
AndroidStudio无法执行Java的main函数
2021-03-25 10:10 709FAILURE: Build failed with an e ... -
最近github经常打不开解决办法
2021-03-23 21:43 2https://zhuanlan.zhihu.com/p/15 ... -
android studio 各个历史版本下载
2021-03-15 16:51 1560android studio 各个历史版本下载 https: ... -
pod install 的历程
2021-01-27 09:34 345公司ios项目拉下来执行有报错,建议执行pod install ... -
Android Studio Database Inspector 使用
2021-01-22 15:24 532转:https://segmentfault.com/a/ ... -
kotlin学习
2021-01-05 10:26 307转 https://blog.csdn.net/github_ ... -
Flutter upgrade升级一直停留在 Running pub upgrade...
2020-10-26 10:15 1043win10 下配置 最后用国内镜像解决了。方法: 1、计算机 ... -
什么是MVVM模式的架构?
2020-10-20 12:14 471转自:https://www.jianshu.com/p/a8 ... -
原生开发、H5开发和混合开发的优缺点
2020-06-04 15:20 488目前市场上主流的APP分为三种:原生APP、Web APP( ... -
flutter填坑——解决ListView添加在Scaffold上默认的的top-padding
2020-01-11 15:09 578解决方法 把ListView用MediaQuery.remo ... -
Flutter开发环境搭建——Ubuntu
2019-09-02 18:10 410配置完做下记录 准备,加快下载速度 由于在国内访问Flutt ... -
原 android view相对于根布局的坐标获取
2019-05-10 11:09 894一张图就看懂了,附件 -
认识一下 Emoji
2019-03-26 15:07 618https://www.cnblogs.com/plokmju ... -
ubuntu批量修改文件名字(换动画资源必用)
2019-03-23 15:28 813for file_old in `ls | grep 原来的 ... -
ubuntu连接android设备(附最简单方法)
2019-03-14 10:35 878新买的手机IQOO后,连不上adb,显示数字加null,所以看 ... -
解决 Configure build 下载慢的问题(亲测有效)
2019-03-09 23:11 3080在build.gradle 文件加入下面代码即可 buil ... -
记录下ubuntu下studio安装flutter
2019-03-09 11:37 1254一、安装Flutter的SDK及环境配置 1、访问官网,下载S ... -
Flutter与React Native
2019-03-06 17:58 924Flutter 与React Native 对比 [关于性 ... -
论开发框架的选择MVP,RxFlux2,Rxjava,Dagger2或在不需要
2018-08-31 10:23 959为什么要使用框架 使用框架,是为了提高生产效率。 框架就是 ... -
不继承RxAppCompatActivity的情况下使用RxLifeCycle
2018-08-29 10:07 2038在Android中使用Rxjava时可能会在页面退出时出现内存 ...
相关推荐
android BroadcastReceiver两种注册方式:1.在AndroidManifest.xml中注册 2.在Activity中注册。两种注册BroadcastReceiver方法的比较: 现在我们了解了两种注册BroadcastReceiver的方法之后,需要考虑一下这两种方法...
BroadcastReceiver的注册方式主要有两种:静态注册和动态注册。 1. 静态注册: 静态注册是在AndroidManifest.xml文件中通过标签来声明BroadcastReceiver的。这种方式的注册使得BroadcastReceiver在应用启动时就会...
通过两个实例,我们可以更深入地理解这两种注册方式。例如,一个应用可能需要在每天特定时间提醒用户,这时可以静态注册一个BroadcastReceiver来监听系统的时间变更广播。而在另一个场景中,应用可能需要在用户登录...
本例中是使用aidl Android Interface Definition Language 实现两种方式拦截来电 使用广播监听拦截(其中有动态广播注册和静态广播注册)和phoneManager类监听手机状态拦截
今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式。 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在...
这是一个关于Android中四大组件之一 —— BroadcastReceiver,即广播的一个demo,里面涉及到BroadcastReceiver的两种注册方式,也简单的实现了广播,通过点击按钮发送广播,收到广播后打印日志。
注册通常包括两部分:声明BroadcastReceiver和定义IntentFilter。 ```xml <receiver android:name=".AlarmReceiver" android:enabled="true"> <action android:name="com.book.action.set_alarm" /> ```...
BroadcastReceiver分为两种类型:静态注册和动态注册。 1. 静态注册: 静态注册通常在AndroidManifest.xml文件中完成。这样注册的BroadcastReceiver是常驻型的,即使应用程序被关闭,只要系统广播与之匹配,...
BroadcastReceiver有两种注册方式,静态注册和动态注册 C. 静态注册需要在Mainfest.xml中配置 D. 动态注册需要在应用退出时候接触广播的注册。 3. 下面关于BroadcastReceiver错误的是( B): A. ...
本文将详细解析BroadcastReceiver的工作原理、发送与接收广播的过程以及BroadcastReceiver的两种注册方式。 1. BroadcastReceiver简介 BroadcastReceiver,即广播接收者,主要负责监听和处理系统级别的广播事件。在...
BroadcastReceiver有两种注册方式:静态注册和动态注册。 1. 静态注册: 静态注册是在AndroidManifest.xml文件中进行的,通过`<receiver>`标签定义BroadcastReceiver,并在`<intent-filter>`中指定对应的`<action>`...
android广播实现代码,使用两种方法注册BroadcastReceiver
BroadcastReceiver有两种发送广播的方式:有序广播(Ordered Broadcast)和无序广播(Unordered Broadcast)。 **有序广播(Ordered Broadcast)** 有序广播是按照接收者的优先级进行传递的,每个接收者都有机会...
BroadcastReceiver的注册有两种方式:静态注册(在AndroidManifest.xml中声明)和动态注册(在代码中实例化并注册)。静态注册的BroadcastReceiver在应用启动时就会被系统加载,即使应用没有运行也能接收到广播;...
BroadcastReceiver有两种注册方式: 1. **静态注册**:在AndroidManifest.xml文件中声明BroadcastReceiver。这种方式使得BroadcastReceiver在应用启动时就会自动激活,即使应用不在运行状态也能接收到广播。示例...
本文将深入探讨这两种注册方式以及如何获取和处理Intent中的信息。 **一、BroadcastReceiver的注册** 1. **动态注册**: 动态注册通常在Activity或Service的生命周期方法中完成,例如`onCreate()`或`onResume()`。...
短信监听通常用于安全或信息提醒场景,以下为两种注册方式实现短信监听的简要示例: - 静态注册的短信监听器会在任何时候都能接收到短信广播,即使应用未运行。 - 动态注册的监听器则需要在应用运行时注册,一旦...
BroadcastReceiver有两种注册方式,静态注册和动态注册 B. BroadcastReceiver必须在AndroidMainfest文件中声明 C. BroadcastReceiver的使用,一定有一方发送广播,有一方监听注册广播,onReceive方法才会被调用 D. ...