2014-06-18 70 views
0

當我註冊廣播接收器時,onReceive未被調用。這裏是我的代碼Android - BroadcastReceiver不打電話

@Override 
    public void onUserInteraction() { 
     super.onUserInteraction(); 
     IntentFilter filter = new IntentFilter(); 
     registerReceiver(mBroadcastReceiver, filter); 
    } 
    private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { 

     public void onReceive(Context context, Intent intent) { 
      Log.v("sunil", "broadcastreceiver======"); 

     } 
    }; 
+0

您應該向「IntentFilter」添加一些操作。你想聽什麼樣的動作? – WonderCsabo

+0

我不想要任何操作。只需要執行onReceive。我需要比較以前的時間和接收的當前時間 – sunil

+1

我認爲你不瞭解'BroadcastReceiver'的概念。這些適用於當發生事件(廣播)時想做某些事情的情況。例如,您的應用程序的某些部分使用相關的「Intent」調用'sendBroadcast()'。 也在'onUserInteraction()中註冊是一個非常糟糕的主意,也沒有使用任何適當的過濾器。你應該閱讀'BroadcastReceiver'的[docs](http://developer.android.com/reference/android/content/BroadcastReceiver.html)。 – WonderCsabo

回答

0

你要尋找一個字符串,只是告訴了android什麼是你想尋找的,例如,如果你想嘗試對一些代碼接待你應該在你使用字符串intentfiltre

 IntentFilter filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");