2012-05-19 36 views
0

我一直在開發必須捕獲所有輸入短信的應用程序。爲此,我使用擴展BroadcastReceiver類的SmsReceiver類,它可以工作,但我需要應用程序可以在自動重新啓動後工作。爲此,我使用擴展BroadcastReceiver的第二個BroadcastReceiver RebootingReceiver,但我不知道如何再次註冊SmsReceiver。請嘗試使用此代碼,但它不起作用:如何註冊短信捕獲器的BroadcastReceiver?

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); 
    } 
} 

我在哪裏犯了一個錯誤?

回答

1

清單檔案中的

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

不,在這種情況下,RebootingReceiver將捕獲所有新短信,但我需要RebootingReceiver只在重新啓動後註冊SmsReceiver – user1166635