2015-09-18 42 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 –

相关问题