Chinaunix首页 | 论坛 | 博客

Go

  • 博客访问: 219815
  • 博文数量: 67
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 783
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-12 16:29
文章分类

全部博文(67)

文章存档

2015年(1)

2014年(47)

2013年(19)

我的朋友

分类: Android平台

2014-08-21 14:16:09

原创:kylin_zeng  http://blog.chinaunix.net/uid/23795897.html
再此感谢mars 老师的帮助。

1、系统会产生广播,然后让注册到系统中的接收器接收到。如把一个usb处理程序注册到系统中,当插入usb系统就会发送广播消息事件通知usb处理程序的activity.
2、一个receive activity怎么注册到系统中,在AndroidMamifest.xml ->
   
                 //这个过滤器是决定TestReciver 接收哪些类型的事件,
           
       

    
 


3、recver:


public class TestReceiver extends BroadcastReceiver{    //这里面只有生成一次,一旦代码返回后生命就结束了。再此发送广播这个重新接收就会再次生成一个这个对象。


public TestReceiver(){
System.out.println("TestReceiver");
}
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("onReceive");
}
}


4、事件产生:


public class TestActivity extends Activity {
    /** Called when the activity is first created. */
private Button sendButton;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.testreceiver);
        sendButton = (Button)findViewById(R.id.sendButton);
        sendButton.setOnClickListener(new BroadcastListener());
    }
    class BroadcastListener implements OnClickListener{
//import android.view.View.OnClickListener; 这里记得要用这个,否则会有一些乱七八糟的问题。

@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_EDIT);  
             //在xml只有 对应的EDIT 才能反应。recve里面才能进入构造函数,onReceive里面也才有进入。
TestActivity.this.sendBroadcast(intent);
}
   
    }
}


5、如果想接收一个广播:
    1)就要创建一个类来接收,这个类要继承 extends BroadcastReiver.,
    2)这这个类中复写onReive 方法 //这里面就是说如果接收到了这个广播,你要干啥来着的。
    3)在AndroidManifest注册到系统中。
           //注册
               //过滤器,看是否是你要的东西
                   //你要什么东西。
          ....


    4)发送广播,在另一个activity中,
       Intent intent = new Intent();
       intent.setAction(Intent.ACTION_EDIT);  //设置哪一个action
       TestActivity.this.sendBroadcast(intent);  //发送广播。
    

TestBC.rar
阅读(543) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~