2015-09-18 39 views
0

我有一個activtiy和receiver.class與broadcastreceiver。我想從mainactivity開始接收器,但我無法用我的解決方案來做到這一點。如何從android中的Activity啓動接收器類?

這裏是5路

Intent iinent= new Intent(MainActivity.this,MyReceiver.class); 
     startActivity(iinent); 

當我嘗試這個程序說我遺憾的是應用程序已經停止'和我的logcat說,這種意圖」線S不正確。

是否有另一種方法可以做到這一點?

+0

您不能啓動廣播接收器樣活性。您可以註冊並取消註冊廣播接收器。 –

+0

你註冊了你的廣播接收器嗎?你可以通過意向發送廣播 – Raghunandan

+1

更多細節:http://stackoverflow.com/questions/9972769/start-broadcast-receiver-from-an-activity-in-android –

回答

0

發送廣播接收機廣播接收器必須在清單

<receiver android:name="TestReceiver"> 
     <intent-filter> 
      <action android:name="ACTION_NAME"/> 
     </intent-filter> 
    </receiver> 

註冊

在活動

IntentFilter filter = new IntentFilter(); 
     filter.addAction("ACTION_NAME"); 

    BroadcastReceiver receiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     //do something based on the intent's action 
    } 
    } 
    registerReceiver(receiver, filter); 



SendBroadcast 


Intent intnet = new Intent("ACTION_NAME"); 
    sendBroadcast(intnet); 
+0

謝謝,但我不能運行這個。 4.「}」以紅色下劃線。我有什麼不對嗎? –

+0

你將不得不完成整個程序。 請檢查http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html –

相關問題