BroadcastReceiver详解

万般广播(Normal Broadcast)

  • 平常广播于多独接收者来说,完全是异步的,通常每个对象都不用等待即可接受到广播,接收者直接互动不见面发影响,接收者无法住广播

不过次,是跟片牛人(现在给称作当年之草根站长)在网络上发生过夹杂的,至少是产生了交流,有集免费资源的站长、有下载站的站长、有起无至有被IDC业务平台的站长、有免费供博客服务平台的站长、有由很袖珍的服务器托管到日入百万之广告联盟站长。这样的交集,大多数啊逐年冷静于岁月之蹉跎中。

注册

眼看半年很多游玩微信公众号的订阅号的,一博称是“内容创业者”的人数,对私家品牌之造,借助于微信流量的红利期,得到了爆发式增长,动则百万层订阅用户,真是让人看“羡慕”。但羡慕没因此,自己没有产生吸引力的觉悟和话题、写不生优雅流畅的笔锋和仿、没有每日一重新的胆气和意志。总而言之,不够坚持、不够执着。

静态注册

  • 新建一个Java类,继承于android.content.BroadcastReceiver,并贯彻他的onReceiver()方法,下面就是一个曰吧MBroadcast的广播接收者:

    public class MyBroadcast extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context,intent.getStringExtra("msg"),Toast.LENGTH_SHORT).show();
    }
    }
    
    <receiver android:name=".MyBroadcast">
      <intent-filter>
      <action android:name="android.intent.action.MY_BROADCAST"/>
      <category android:name="android.intent.category.DEFAULT"/>
      </intent-filter>
    </receiver>
    

每当博客兴起之前,是个人主页。如今之网易,当年极端早便是提供个人主页空间这项免费服务积累了众人气的。我以无付费能力的时,也是大丰富之一段时间里所在在寻免费空间,从境内及海外,从国外及国内,国外的陆陆续续被查封,国内的安全性特别差,基本上找不交一个安定的,自己对个体站点的热忱为当匪鸣金收兵的变换服务商的历程被打发了。

动态注册

public class MainActivity extends Activity {

    private MyBroadcast myBroadcast;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myBroadcast = new MyBroadcast();
        IntentFilter filter = new IntentFilter();
        filter.addAction("android.intent.action.MY_BROADCAST");
        registerReceiver(myBroadcast,filter);
    }


    @Override
    protected void onDestroy() {
        super.onDestroy();
        unregisterReceiver(myBroadcast);
    }
}

出殡广播:

        Intent intent = new Intent("android.intent.action.MY_BROADCAST");
        intent.putExtra("msg","hello receiver");
        sendBroadcast(intent);

当接过广播之后,广播接收者就会尽onReveiver()方法;

记得 @phpdragon 以前还报过一个
phpdragon.com的域名,用来整治个人博客,后面该是舍本求末了。

播音的种类

是因为工作中所处之职位,每卖工作投入的活力与日都比多,导致没有继续建站。到如今为,搜集域名类似就是成了已经这种私家站长情怀的相同栽持续吧。一年的投入约在1K头版左右,商业的.com几乎没,都是.org型,搞技术的呗,总以为技术社区是不过充分的需。

有序广播

  • 咱着重说说有序广播,有序广播是按照一定之先级依次发送的(根据android:priority,最大值是int的顶深价值),广播一交汇一重叠的朝向下发送,中间可以住于通往下发送(abortBroadcast();
    ),下面我们创建三单广播接收者:

    public class FirstBroad extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context,intent.getStringExtra("msg")+1,Toast.LENGTH_SHORT).show();
        setResultData("我已经被接受过一次了");
    }
    }
    
    public class SecondBroad extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context,getResultData()+intent.getStringExtra("msg")+2,Toast.LENGTH_SHORT).show();
        setResultData("我已经被接受过二次了");
        //abortBroadcast();
    }
    }
    
    public class ThirdBroad extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context,getResultData()+intent.getStringExtra("msg")+3,Toast.LENGTH_SHORT).show();
    }
    }
    
  • 注册有序广播:

    <receiver android:name=".FirstBroad">
            <intent-filter android:priority="1000">
                <action android:name="android.coderwei.orderbroadcast"/>
            </intent-filter>
        </receiver>
        <receiver android:name=".SecondBroad">
            <intent-filter android:priority="800">
                <action android:name="android.coderwei.orderbroadcast"/>
            </intent-filter>
        </receiver>
    
        <receiver android:name=".ThirdBroad">
            <intent-filter android:priority="500">
                <action android:name="android.coderwei.orderbroadcast"/>
            </intent-filter>
        </receiver>
    
  • 出殡有序广播:

    Intent intent = new Intent("android.coderwei.orderbroadcast");
        intent.putExtra("msg","hello receiver");
        sendOrderedBroadcast(intent,null);
    

    里头setResultData可以往下一个广播接收者发送数据。
    sendOrderedBroadcast(intent,null);中之次只参数为null的时候,不待接收者声明指定的权能,不为null则需声明指定的权限,在AndroidManifest.xml中定义一个权:

    <permission android:name="permission.MY_BROADCAST_PERMISSION" />  
    

    然后使用这个权力:

    <uses-permission android:name="permission.MY_BROADCAST_PERMISSION" />  
    

    然后null改成”permission.MY_BROADCAST_PERMISSION”

花费了“大价格”买了一个域名 –
zzm.hk,够不够了,其实远非啊意思,但未曾任何选择。这样的域名,好像只能依靠于个体博客站点,或者用QQ邮箱体系里之域名邮箱功能设置一个如果
i@zzm.hk (记得给自家作邮件)的个人email。

实际,即便个人博客站点的络绎不绝维护,好像也是同等种植创业的体现。通过独立博客站点,个人的品牌展示,有矣一个独的阳台。持续维护的历程,就是个体品牌价值打造的长河。