广播broadcast静态注册【可调用】
来源:互联网 发布:小马哥激活软件 编辑:程序博客网 时间:2024/06/06 08:41
1.Android的广播机制介绍
收听收音机也是一种广播,在收音机中有很多个广播电台,每个广播电台播放的内容都不相同。接受广播时广播(发送方)并不在意我们(接收方)接收到广播时如何处理。好比我们收听交通电台的广播,电台中告诉我们现在在交通状况如何,但它并不关心我们接收到广播时做如何做出处理,这不是广播应该关心的问题,OK,到这里我们从生活中的一些小例子浅浅的理解了一下广播,那么Android 中的广播是如何操作的呢?
在 Android 里面有各种各样的广播,比如电池的使用状态,电话的接收和短信的接收都会产生一个广播,应用程序开发者也可以监听这些广播并做出程序逻辑的处理。
一个经典的电话黑名单,首先通过将黑名单号码保存在数据库里面,当来电时,我们接收到来电广播并将黑名单号码与数据库中的某个数据做匹配,如果匹配的话则做出相应的处理,比如挂掉电话、比如静音等等。。。
2.BroadcastReceiver的作用:处理android中发出的广播事件
3.BroadcastReceiver的编写方法:首先,在AndroidManifest.xml注册。然后,编写一个类继承 BroadcastReceiver,重写onReceive
4.BroadcastReceiver的生命周期:每次接到广播都会重新生成一个接收着,当onReceive运行完之后,周期结束
5、下面通过一个小BroadcastReceiver 来讲解一下广播在Android 中如何编写,在BroadcastReceiver中我们设置了一个按钮为按钮设置点击监听通过点击发送广播,在后台中接收到广播并打印LOG信息。代码如下:
步骤1:
******************************************************
MainActivity.java(发送广播)
package com.yu.bcr;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private Button saveButton;//声明控件
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
saveButton = (Button)this.findViewById(R.id.btn_send);//根据Id找到相对应的控件
saveButton.setOnClickListener(new View.OnClickListener() { //发送监听器
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_EDIT);//要和AndroidManifest.xml里的保持一致
MainActivity.this.sendBroadcast(intent);//广播
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//getMenuInflater().inflate(R.menu.activity_main, menu);
menu.add(0, 1, 1, R.string.exit).setIcon(
android.R.drawable.ic_menu_close_clear_cancel);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case Menu.FIRST:
MainActivity.this.finish();
break;
}
return super.onOptionsItemSelected(item);
}
}
******************************************************
步骤2:
******************************************************
TestReceiver.java(接收广播)
package com.yu.bcr;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class TestReceiver extends BroadcastReceiver {
public static final String TAG ="TestReceiver";
public TestReceiver() {
//System.out.println("Receiver");
Log.i(TAG, "Receiver");
}
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "onReceiver");
}
}
******************************************************
步骤3:
******************************************************
<receiver android:name=".TestReceiver">
<intent-filter>
<action android:name="android.intent.action.EDIT" />
</intent-filter>
</receiver>
******************************************************
收听收音机也是一种广播,在收音机中有很多个广播电台,每个广播电台播放的内容都不相同。接受广播时广播(发送方)并不在意我们(接收方)接收到广播时如何处理。好比我们收听交通电台的广播,电台中告诉我们现在在交通状况如何,但它并不关心我们接收到广播时做如何做出处理,这不是广播应该关心的问题,OK,到这里我们从生活中的一些小例子浅浅的理解了一下广播,那么Android 中的广播是如何操作的呢?
在 Android 里面有各种各样的广播,比如电池的使用状态,电话的接收和短信的接收都会产生一个广播,应用程序开发者也可以监听这些广播并做出程序逻辑的处理。
一个经典的电话黑名单,首先通过将黑名单号码保存在数据库里面,当来电时,我们接收到来电广播并将黑名单号码与数据库中的某个数据做匹配,如果匹配的话则做出相应的处理,比如挂掉电话、比如静音等等。。。
2.BroadcastReceiver的作用:处理android中发出的广播事件
3.BroadcastReceiver的编写方法:首先,在AndroidManifest.xml注册。然后,编写一个类继承 BroadcastReceiver,重写onReceive
4.BroadcastReceiver的生命周期:每次接到广播都会重新生成一个接收着,当onReceive运行完之后,周期结束
5、下面通过一个小BroadcastReceiver 来讲解一下广播在Android 中如何编写,在BroadcastReceiver中我们设置了一个按钮为按钮设置点击监听通过点击发送广播,在后台中接收到广播并打印LOG信息。代码如下:
步骤1:
******************************************************
MainActivity.java(发送广播)
package com.yu.bcr;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private Button saveButton;//声明控件
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
saveButton = (Button)this.findViewById(R.id.btn_send);//根据Id找到相对应的控件
saveButton.setOnClickListener(new View.OnClickListener() { //发送监听器
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_EDIT);//要和AndroidManifest.xml里的保持一致
MainActivity.this.sendBroadcast(intent);//广播
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//getMenuInflater().inflate(R.menu.activity_main, menu);
menu.add(0, 1, 1, R.string.exit).setIcon(
android.R.drawable.ic_menu_close_clear_cancel);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case Menu.FIRST:
MainActivity.this.finish();
break;
}
return super.onOptionsItemSelected(item);
}
}
******************************************************
步骤2:
******************************************************
TestReceiver.java(接收广播)
package com.yu.bcr;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class TestReceiver extends BroadcastReceiver {
public static final String TAG ="TestReceiver";
public TestReceiver() {
//System.out.println("Receiver");
Log.i(TAG, "Receiver");
}
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "onReceiver");
}
}
******************************************************
步骤3:
******************************************************
<receiver android:name=".TestReceiver">
<intent-filter>
<action android:name="android.intent.action.EDIT" />
</intent-filter>
</receiver>
******************************************************
0 0
- 广播broadcast静态注册【可调用】
- Android Studio:Broadcast 静态&动态广播注册
- 广播broadcast动态注册【能调用】
- Broadcast流程1--注册广播
- 使用BroadCast实现进程间通信以及静态注册和动态注册广播的区别
- 广播(Broadcast Receiver)的两种动态注册和静态注册有什么区别。
- 关于Android静态注册BroadCast
- Broadcast静态注册 个人总结
- android 静态注册广播
- 静态注册广播接收器
- 静态注册广播接收器
- 广播机制 静态注册
- 静态注册广播接收者
- Broadcast Receiver的静态注册&动态注册
- 广播机制,动态广播,静态的广播Broadcast,
- Android---广播(Broadcast)---广播接收者的注册过程分析
- myapplication991静态广播注册和动态广播
- BroadcastReceiver广播静态注册细节
- mmap详解
- unity 3D 笔记
- 第一篇文章
- git 报错 How do I remove files saying “old mode 100755 new mode 100644” from unstaged changes in Git?
- 嵌套makefile(makefile变量,环境变量)
- 广播broadcast静态注册【可调用】
- java生成xml
- static函数与普通函数区别
- P1005 采药
- 使用GDB调试的一个常见失误
- 发博客测csdn博客
- 初识敏捷开发
- 成员函数指针与高效C++委托 (delegate)
- 实战Scala & Spark (1)