首页 > 移动开发 > ANDROID > Android中动态注册
Android广播是一个很重要,也很有用的功能,其中的动态注册更是很重要,相比于静态注册早AndroidManifest.xml中注册,动态注册只需要在代码中操作即可
第一种写法:
首先新建一个Java类,通过"New/Other/Broadcast Receiver",命名为MyReceiver,添加以下内容
public static String ACTION="learnbroadcastreceive.MyReceive";
然后添加
public MyReceive{
public void OnReceive(Context context,Intent intent){
Toast.maetText(context,"收到一条广播",toast.LENGTH_LONG).show();
}
}
然后在MainAcitivity中添加
private Myreceiver receiver=null;
然后添加
public void registeMyReceiver(View view){
if(receive==null){
receive=new MyReceiver();
registerReceiver(receiver,new intentFilter(MyReceive.Action));
}
}
public void unRegisterReceiver(){
if (receive!=null){
unregistReceive(receiver);
receive=null;
}
}
public void sendBc(View view){
sendBroadcast(new Intent(this.MyReceive.ACTION));
}
然后在xml中修改相应的部分即可
第二种写法:
第二种写法,其实是将所有代码都放在MainAcitivity中
private IntentFlier intentfiler private MyReceiver receive
onCreate中添加
receive=new MyReceiver(); registerReceiver(receiver,new intentFilter(MyReceive.Action));
新建
public void onDestroy(){
super.onDestroy
unregistReceive(receiver);
}
public void OnReceive(Context context,Intent intent){
Toast.maetText(context,"收到一条广播",toast.LENGTH_LONG).show();
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69917874/viewspace-2679352/ ,如需转载,请注明出处,否则将追究法律责任。