当前位置:   article > 正文

接收和发送广播_intent对象广播消息和接收消息的步骤

intent对象广播消息和接收消息的步骤

intent 对象不仅可以启动应用程序内部或者其他应用程序的Activity, 还可以发送广播动作(Broadcast)。Broadcast Action 和 Activity Action 一样,既可以由系统进行广播,也可以由自己的程序进行广播。利用广播,我们可以实现特殊的功能,例如,在开机的时候自动启动一个应用程序,当接受到短信自动提示或保存短记录等。实际上,在手机中发生这样的事件时,android 系统都会向整个系统发送相应的Broadcast Action,如果应用程序对这个广播感兴趣的话,就可以接收它 ,来完成相应的功能。

 

1  接收系统广播:

 

    (1)编写一个继承自android.content.BroadcastReceiver的类,并重写其中的onReceive()方法。如果应用程序接收到系统发送的广播,就会调用

            OnReciver()方法。

    (2)在AndroidManifest.xml文件中使用<receiver>标签来指定第一步编写的接收系统广播的类可以接收哪一个Broadcast Action .

 

下面是一个简单的DEMO

 

 实现一个一旦开机就自动启动的程序。

 要实现开机启动功能,需要接收如下系统广播:android.intent.action.BOOT_COMPLETED;

下面我们按照上面的步骤实现接收广播。

 public class startupReceiver extends BroadcastReceiver {

 

    @Override

      public void onReceive( contentxt ctx ,  Intent intent ) {

       Intent mainIntent = new  Intent (ctx ,Main.class);

       mainIntent.setFlags(Intent.FlLG_ACTIVITY_NEW_TASK);

       context.startActivity(mainIntent);

 

 

     }

 }

在onreceive()方法中启动本例的Main,用来表明应用程序已经启动。

(2)在AndroidManifest.xml 文件中配置StartupReceiver类。代码如下:

 

 

  <receiver android:name = "StartupReceiver">

           <intent-filter>

          <!---指定要接收的ACTION->

          <action android:name="android.intent.action.BOOT_COMPLETED"/>

          <!--指定action 的种类,该种类表示android 系统启动后第一运行的应用程序-->

          <category android:name ="android.intent.category.HOME">

 

           </intent-filter>

 

  </receiver>

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/472255
推荐阅读
相关标签
  

闽ICP备14008679号