关于Intents和BroadcastReceiver的疑问

时间:2015-08-03 14:36:48

标签: android broadcastreceiver manifest

我对Android编程很新,所以我有一些基本的疑问。

这里有一个没有BroadcastReceiver的应用程序,但是我使用了其他类,我确信它可以正常工作。

我读了一些主题,我需要在清单中注册它,但我不知道怎么做;我对com.google.android.c2dm.permission.SEND等感到困惑,我不知道如何设置它。

问题:我是否可以要求某人向我解释,以简单的方式,在关闭应用时,我需要对我的方法执行操作,并且,我如何在清单上注册?

谢谢!

2 个答案:

答案 0 :(得分:1)

发送Intent是Android告诉每个人某个事件发生的方式。

例如,当您的设备接到来电时,会广播Intent。但要特定于某个事件,每个Intent都有一个操作。例如,当您收到短信时,Intent广播会进行"android.provider.Telephony.SMS_RECEIVED"操作。

AndroidManifest.xml中,您可以为特定意图注册对象。您可以注册ActivityServiceBroadcastReceiver

注册BroadcastReceiver至"接收短信操作"您在清单中执行以下操作:

<receiver android:name="your.receiver.class">
     <intent-filter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>

这意味着每次触发具有指定操作的Intent时,它都会传递给您的接收者。这意味着他的onReceive方法将被调用,意图为param。

因此,要创建一些将要执行的代码,请关闭以下步骤:

  1. 创建一个扩展BroadcastReceiver

  2. 的类
  3. 将代码放入onReceive方法中。每次收件人收到意图时,都会调用此方法。

  4. AndroidManifest.xml文件中注册接收者以执行所需操作。

答案 1 :(得分:0)

BroadcastTeceiver ,因为名称暗示是可以接收某人通过Intents发送的数据的组件。发件人可以是系统,其他应用程序或您自己的应用程序。

有关regiester BroadcastReceiver的方法:

  1. 在exlixit清单中你想听的意图。

  2. 在代码中以编程方式给它Intent_filter。