- 浏览: 679030 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 745FAILURE: Build failed with an e ... -
最近github经常打不开解决办法
2021-03-23 21:43 2https://zhuanlan.zhihu.com/p/15 ... -
android studio 各个历史版本下载
2021-03-15 16:51 1656android studio 各个历史版本下载 https: ... -
pod install 的历程
2021-01-27 09:34 377公司ios项目拉下来执行有报错,建议执行pod install ... -
Android Studio Database Inspector 使用
2021-01-22 15:24 568转:https://segmentfault.com/a/ ... -
kotlin学习
2021-01-05 10:26 338转 https://blog.csdn.net/github_ ... -
Flutter upgrade升级一直停留在 Running pub upgrade...
2020-10-26 10:15 1072win10 下配置 最后用国内镜像解决了。方法: 1、计算机 ... -
什么是MVVM模式的架构?
2020-10-20 12:14 495转自:https://www.jianshu.com/p/a8 ... -
原生开发、H5开发和混合开发的优缺点
2020-06-04 15:20 523目前市场上主流的APP分为三种:原生APP、Web APP( ... -
flutter填坑——解决ListView添加在Scaffold上默认的的top-padding
2020-01-11 15:09 627解决方法 把ListView用MediaQuery.remo ... -
Flutter开发环境搭建——Ubuntu
2019-09-02 18:10 462配置完做下记录 准备,加快下载速度 由于在国内访问Flutt ... -
原 android view相对于根布局的坐标获取
2019-05-10 11:09 935一张图就看懂了,附件 -
认识一下 Emoji
2019-03-26 15:07 650https://www.cnblogs.com/plokmju ... -
ubuntu批量修改文件名字(换动画资源必用)
2019-03-23 15:28 839for file_old in `ls | grep 原来的 ... -
ubuntu连接android设备(附最简单方法)
2019-03-14 10:35 916新买的手机IQOO后,连不上adb,显示数字加null,所以看 ... -
解决 Configure build 下载慢的问题(亲测有效)
2019-03-09 23:11 3114在build.gradle 文件加入下面代码即可 buil ... -
记录下ubuntu下studio安装flutter
2019-03-09 11:37 1304一、安装Flutter的SDK及环境配置 1、访问官网,下载S ... -
Flutter与React Native
2019-03-06 17:58 958Flutter 与React Native 对比 [关于性 ... -
论开发框架的选择MVP,RxFlux2,Rxjava,Dagger2或在不需要
2018-08-31 10:23 1006为什么要使用框架 使用框架,是为了提高生产效率。 框架就是 ... -
不继承RxAppCompatActivity的情况下使用RxLifeCycle
2018-08-29 10:07 2073在Android中使用Rxjava时可能会在页面退出时出现内存 ...
相关推荐
android BroadcastReceiver两种注册方式:1.在AndroidManifest.xml中注册 2.在Activity中注册。两种注册BroadcastReceiver方法的比较: 现在我们了解了两种注册BroadcastReceiver的方法之后,需要考虑一下这两种方法...
首先,`BroadcastReceiver`的注册有两种方式:静态注册和动态注册。静态注册是在`AndroidManifest.xml`中声明,系统启动时就会创建对应的BroadcastReceiver实例。而动态注册则是在代码中进行,需要在适当的时候调用`...
BroadcastReceiver有两种注册方式:静态注册和动态注册。 1. 静态注册:在AndroidManifest.xml文件中声明BroadcastReceiver,这样系统在启动时就会自动注册该Receiver。这种方式简单便捷,但即使应用不在运行,也能...
BroadcastReceiver有两种注册方式:静态注册和动态注册。 1. 静态注册:在AndroidManifest.xml文件中声明BroadcastReceiver,这样系统在应用程序启动时就会创建并初始化该Receiver,即使应用不在运行状态也能接收...
注册BroadcastReceiver有两种方式:静态注册和动态注册。静态注册是在AndroidManifest.xml文件中声明,这样系统在启动时就会自动创建BroadcastReceiver对象。动态注册则是在运行时通过代码完成,需要在适当的时候...
最后,了解广播的实现方式,有静态注册和动态注册两种。静态注册是在AndroidManifest.xml中声明,应用启动时系统就会加载,即使应用不在运行状态也能接收到广播。动态注册则是在代码中完成,只有在注册后且应用运行...
通过两个实例,我们可以更深入地理解这两种注册方式。例如,一个应用可能需要在每天特定时间提醒用户,这时可以静态注册一个BroadcastReceiver来监听系统的时间变更广播。而在另一个场景中,应用可能需要在用户登录...
综上所述,动态注册BroadcastReceiver是Android开发中处理特定事件,如短信接收,的一种实用方法。它提供了更细粒度的控制,可以在应用需要时开启,不需要时关闭,有效地管理了应用的资源。通过合理运用,我们可以...
BroadcastReceiver的注册方式主要有两种:静态注册和动态注册。 1. 静态注册: 静态注册是在AndroidManifest.xml文件中通过标签来声明BroadcastReceiver的。这种方式的注册使得BroadcastReceiver在应用启动时就会...
注册BroadcastReceiver有两种方式:静态注册和动态注册。静态注册是在AndroidManifest.xml文件中声明,应用启动时就会生效;动态注册则在代码中完成,通常在需要时注册,用完后需要手动注销,以节省系统资源。 接...
BroadcastReceiver有两种注册方式:静态注册和动态注册。 1. 静态注册:在AndroidManifest.xml中声明BroadcastReceiver,应用启动时就会自动初始化。 2. 动态注册:在代码中创建BroadcastReceiver实例并注册,应用...
BroadcastReceiver分为动态注册和静态注册两种方式。动态注册是在代码中通过`registerReceiver()`方法进行,优点是灵活性高,可以随时注册和注销;而静态注册则是在AndroidManifest.xml文件中声明,即使应用不在运行...
本例中是使用aidl Android Interface Definition Language 实现两种方式拦截来电 使用广播监听拦截(其中有动态广播注册和静态广播注册)和phoneManager类监听手机状态拦截
BroadcastReceiver通常有两种注册方式:静态注册和动态注册。 1. 静态注册:在AndroidManifest.xml文件中声明BroadcastReceiver,这种方式的Receiver在应用启动时就会自动激活,即使应用被关闭,依然可以接收到指定...
广播分为两种类型:有序广播(Ordered Broadcast)和无序广播(Unordered Broadcast)。有序广播允许接收者之间按照优先级顺序接收并处理广播,而无序广播则不保证接收者的处理顺序。 接下来,我们将重点讨论有序...
BroadcastReceiver分为两种注册方式:静态注册和动态注册。 **静态注册**是在AndroidManifest.xml文件中进行的,这样BroadcastReceiver会在应用程序启动时自动创建并监听指定的广播事件。例如: ```xml <receiver ...
今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式。 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在...
本篇将深入探讨两种广播注册方式:静态注册(Static Registration)和动态注册(Dynamic Registration),以及它们之间的差异。 **静态注册** 静态注册是在AndroidManifest.xml文件中通过标签定义广播接收器。这种...