如何为sms捕手注册BroadcastReceiver?

时间:2012-05-19 11:23:50

标签: java android

我一直在开发必须捕获所有输入短信的应用程序。为此,我使用扩展BroadcastReceiver类的SmsReceiver类,它可以工作,但我需要应用程序在自动重启后才能工作。为此,我使用第二个BroadcastReceiver RebootingReceiver,它也扩展了BroadcastReceiver,但我不知道如何再次注册SmsReceiver。请尝试使用此代码,但它不起作用:

public class RebootingReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        IntentFilter filter=new IntentFilter();
        filter.addAction("android.provider.Telephony.SMS_RECEIVED");
        context.registerReceiver(new SmsReceiver(), filter);
    }
}

我在哪里犯了错误?

2 个答案:

答案 0 :(得分:1)

在清单文件中添加

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

答案 1 :(得分:0)

您必须注册接收器才能重新启动。检查this link