0

我正在使用 IntelliJ 12.1.4 开发一个 Android 应用程序。当我创建一个带有接收器类型的新 android 组件时,接收器被添加到清单中

<receiver android:name=".Receiver">
    <intent-filter>
        <action android:name=" com.example.ACTION_EXAMPLE"/>
    </intent-filter>
</receiver>

但给出错误“预期的类或接口”。我试图把接收器包括包名,但我仍然得到同样的错误。该项目编译成功,但是当使用与接收器关联的意图过滤器发送广播时,接收器什么也没有收到。

请问有什么帮助吗?

提前致谢。

4

2 回答 2

0

尝试这个,

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

以上代码用于在清单文件中注册接收器。

<action android:name= "android.provider.Telephony.SMS_RECEIVED" />  

以上代码必须根据广播接收器进行更改。我在上面使用触发 SMS 接收事件。

然后你必须通过扩展 BroadcastReceiver 来实现 clsBroadcastreceiver

public class clsBroadcastreceiver extends BroadcastReceiver 

您还需要覆盖 onReceive 方法

@Override
public void onReceive(Context context, Intent intent) {
}

你想对广播接收事件做什么,放入 onReceive (...) {...}

于 2013-09-04T12:12:38.270 回答
0

您还必须使用接收器定义意图过滤器

       <receiver
        android:name="Your receiver Name">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
             //your action to perform on broadcast receiver
        </intent-filter>

在你的接收器类之后,你必须检查

        if(intent(object of intent in onreceive method).equals("android.intent.action.BOOT_COMPLETED"))
         {

          //  action to perform
        }
于 2013-09-04T11:54:20.420 回答