receiver代码: public void onReceive(Context context, Intent intent) {
Log.e(TAG, "AlarmReceiver.onReceive");
// 关闭应用程序之后仍然可以调用service
dbID = intent.getIntExtra("dbID", 1991);
Log.e(TAG, "dbID="+dbID);
Intent myIntent = new Intent(context, AlarmService.class);
myIntent.putExtra("dbID", dbID);
context.startService(myIntent);
Log.e(TAG, "service started");
}receiver已经注册了,但是没有加intentfilter,不知道会不会影响,代码如下:
 <receiver 
          android:name="org.liewwanpang.pills.broadcastreceiver.RepeatReceiver">
</receiver>情况是有时候能接收到,有时候却又不能,请高手指教!!!

解决方案 »

  1.   

    肯定有影响啦,广播就是根据intentfilter中的action来识别的..
      

  2.   


    那action是怎么加上去啊?
      

  3.   

    <receiver  
      android:name="org.liewwanpang.pills.broadcastreceiver.RepeatReceiver">
    <intent-filter>
                     <action android:name="com.android.startreceiver"/>
                </intent-filter>
    </receiver>Activity中发送广播
     Intent intent = new Intent();
            intent.setAction("com.android.startreceiver");
            sendBroadcast(intent);
      

  4.   

    情况是有时候能接收到
    是怎么弄的?setclassname?
    理论上好像也行啊。