Android-广播发送与接收(Java代码中订阅)

Android四大组件之一广播,使用的也比较多,广播可大致分为两种,一种是Android系统区域的广播,是由系统指令发出,例如:点亮屏幕广播,开机过程中的一些广播

省略…,

然而还有一种广播就是我们自己定义,自己来控制发出的广播,以下就简单介绍以下,在代码中发送广播和接收广播:

第一步,在onCreate注册广播(订阅)

UpdateIpSelectCity updateIpSelectCity = new UpdateIpSelectCity();
IntentFilter filter = new IntentFilter();
filter.addAction(ActionUtils.ACTION_EQUES_UPDATE_IP);
registerReceiver(updateIpSelectCity, filter);

第二步,定义广播接收者(Receiver)

private class UpdateIpSelectCity extends  BroadcastReceiver {
  @Override
   public void onReceive(Context arg0, Intent arg1) {
     // TODO Auto-generated method stub
      ELog.e(TAG, "UpdateIpSelectCity onReceive 广播接受者");
   }
}

第三步:发送广播给广播接收者(Send)

Intent intent = new Intent();
// ActionUtils.ACTION_EQUES_UPDATE_IP 与注册时保持一致
intent.setAction(ActionUtils.ACTION_EQUES_UPDATE_IP);
sendBroadcast(intent);

以上是在Java代码注册广播,发送接收广播,此类似操作在实际编程中,用的比较多

原文地址:https://www.cnblogs.com/android-deli/p/10088063.html

时间: 2024-11-08 01:22:30

Android-广播发送与接收(Java代码中订阅)的相关文章

Android 自定义广播发送和接收

android系统会发送许多系统级别的广播,比如屏幕关闭,电池电量低等广播.同样应用可以发起自定义“由开发者定义的”广播.广播是从一个应用内部向另一个应用发送消息的途径之一. BroadcastReceiver是一个可以监听和响应广播的组件.本文中,我们将会演示如何发送自定义广播以及如何通过编程和使用Manifest文件定义一个BroadcastReceiver来监听这一广播.我们最后只要调用sendBroadcast就可以发送广播信息了. 1,编写MyReceiver,MyReceiver代码

Android如何在java代码中设置margin

习惯了直接在xml里设置margin(距离上下左右都是10dip),如: <ImageView android:layout_margin="10dip" android:src="@drawable/image" /> 只是有些情况下,需要在java代码里来写. API中,android.view.ViewGroup.MarginLayoutParams有个方法setMargins(left, top, right, bottom).可是View本身没

简单的广播发送与接收

发送端: public class MainActivity extends Activity { //先在布局文件main.xml中定义一个Button /* * * <Button * android:layout_width="fill_parent" * android:layout_height="wrap_content" * android:text="@string/button_send" * android:id=&qu

六、Android学习笔记_JNI_c调用java代码

1.编写native方法(java2c)和非native方法(c2java): package com.example.provider; public class CallbackJava { // C调用java空方法 public void helloFromJava() { System.out.println("hello from java"); } // C调用java中的带两个int参数的方法 public int Add(int x, int y) { int res

Android学习笔记_JNI_c调用java代码

1.编写native方法(java2c)和非native方法(c2java): package com.example.provider; public class CallbackJava { // C调用java空方法 public void helloFromJava() { System.out.println("hello from java"); } // C调用java中的带两个int参数的方法 public int Add(int x, int y) { int res

java代码中获取进程process id(转)

另一方面,线程ID=进程ID+内部线程对象ID并不成立,    参考: blog.csdn.net/heyetina/article/details/6633901     如何在java代码中获取进程process id, 实现方法如下所示:    参考: rednaxelafx.iteye.com/blog/716918 http://www.cnblogs.com/mumuxinfei/p/3678854.html

【安卓】在java代码中设置drawableLeft时如何给定合适尺寸?

textView.setCompoundDrawables(drawable, null, null, null);时看不到图片,是因为需要手动给定drawable对应的尺寸,即用drawable.setBounds. 如果该drawable为图片,可直接drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());. 即直接给定图片自身尺寸,此时效果和在xml中给定一样. [安卓]在java

如何在java代码中调用一个web项目jsp或者servlet

有时候需要调用一个web项目的jsp或者servlet,但是执行内部的代码,并不是打开jsp,例如需要在一段java代码中清除一个web项目中的缓存,那么可以把清除缓存的代码放在该web项目的一个servlet中,只需要执行如下代码: URL url = new URL("http://192.168.2.123:8080/sace/ClearCache"); url.openStream(); openStream() 执行一次相当于一次URL请求,其中url.openStream(

Java代码中获取Json的key值

测试json字符串: {"access_token":"hkbQl5o_l67dZ7_vJRATKBwTLk9Yj5QyMuOJThAr8Baj0xWf4wxW1p4ym4iTZ3-ptWRRoVtbCNJnyjGLfed_4bB0HiqGP8v-aXOJUUk1tFs","expires_in":7200,"refresh_token":"_or_31yEp8XhxGWvrAzdWIkXfFlKjfb3iTRpfa