我收到了这个警告,并且写在我的事件订阅者中的代码并不总是被触发..它是非常随机的。
有人可以帮我弄这个吗。谢谢。
我有这个发布事件的课程......
EventListAdapter
:
protected void updateDbToHandle(Context context, Cursor cursor) {
//something here....
toggleEvent.setContext(context);
EventBus.getDefault().post(toggleEvent);
}
protected void updateDbToIgnore(Context context, Cursor cursor) {
//something here....
toggleEvent.setContext(context);
EventBus.getDefault().post(toggleEvent);
}
Event class
:
public class ToggleEvent {
private String name;
private Context context;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Context getContext() {
return context;
}
public void setContext(Context context) {
this.context = context;
}
}
和the subscriber
:
public class ToggleEventListener {
public ToggleEventListener() {
super();
EventBus.getDefault().register(this);
}
public void onEvent(ToggleEvent toggleEvent) {
Log.d("toggleEvent", "toggle event triggered in event bus");
Context context = toggleEvent.getContext();
Intent intentForRinger = new Intent(context, RingerToggler.class);
System.out.println("change in calendar is here ");
//calRead.getEventControl(context);
intentForRinger.putExtra("START_TIME", false);
intentForRinger.putExtra("RESCAN", false);
intentForRinger.putExtra("CHANGE", true);
intentForRinger.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startService(intentForRinger);
EventBus.getDefault().unregister(this);
}
}
不知道为什么我会收到这个警告......
而且我在切换事件中编写的代码也不是每次都执行......
它被遗漏了,并且事件被调用是非常随机的......