关于Intents和BroadcastReceiver的疑惑

Doubts about Intents and BroadcastReceiver

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

这里有一个没有BroadcastReceiver的应用程序,但我用其他class代替,我确信它可以正常工作。

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

问题:请问有人用简单的方式向我解释一下,我需要对执行的方法做些什么当应用程序关闭时,我如何在清单上注册它?

谢谢!

发送 Intent 是 Android 告诉所有人某事发生的方式。

例如,当您的设备接到电话时,会广播 Intent。但具体到某些事件,每个 Intent 都有一个 动作 。例如,当您收到短信时,Intent 广播具有 "android.provider.Telephony.SMS_RECEIVED" 操作。

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

要将 BroadcastReceiver 注册到 "receive sms action",您需要在清单中执行以下操作:

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

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

因此,要创建一些将在您的应用关闭时执行的代码,请按照以下步骤操作:

  1. 创建一个扩展 BroadcastReceiver 的 class。

  2. 将您的代码放在 onReceive 方法中。每次你的接收者收到一个意图时都会调用这个方法。

  3. 在您的 AndroidManifest.xml 文件中为所需的操作注册接收器。

BroadcastTeceiver 顾名思义是可以接收某人通过 Intents 发送的数据的组件。发件人可以是系统、其他应用程序或您的应用程序本身。

注册 BroadcastReceiver 的方法有:

  1. 在清单中通过 exlixit 您想要收听的 Intent。

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