如何声明外部库中存在的Receiver类的intent-filter。

时间:2011-07-28 11:19:41

标签: android android-manifest broadcastreceiver

我创建了一个类为

的库
public class SmsReceiver extends BroadcastReceiver{...}

现在由于这个类扩展了BroadcaseReceiver所以我需要像这样声明intent-filter:

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

但是,现在因为SmsReceiver类是外部库的一部分所以,如果我在应用程序(应用程序包是com.abc.test)中声明上面的intent-filter,我正在使用SmsReceiver类,我在AndroidManifest.xml中出现错误,该错误表示

Class com.abc.test.SmsReceiver doesn't exist

我需要做些什么才能让它发挥作用?该库已包含在项目构建路径中,我可以从应用程序(com.abc.test)调用SmsReceiver类。唯一的问题是BroadcastReceiver(我们的SmsReciever类)不起作用。

1 个答案:

答案 0 :(得分:5)

使用android:name="the.fully.qualified.class.name.SmsReceiver",其中the.fully.qualified.class.name.SmsReceiverSmsReceiver类的完全限定类名。