发送广播的问题
在activity中发送广播时,直接用sendBroadcast(cancelBroadcast);当没在Activity中时,如在自定义View中发送广播,可以用自定义view中的Context发送,如:context.sendBroadcast(cancelBroadcast),片段代码如下:
// 在MyPreference1构造函数中注册广播接收者 public MyPreference1 (Context context, AttributeSet attrs) { super(context, attrs); mGetCountBroadcast = new GetCountBroadcast();//初始化广播接收者 Log.e("MyPreference1", "in constructor ...... "); mContext = context; setWidgetLayoutResource(R.layout.preference_widget_mypreference); IntentFilter myIntentFilter = new IntentFilter(); myIntentFilter.addAction("com.han.zb.test"); //发送广播时要用mContext上下文对象来发送,所以现在构造函数中初始化mContext mContext.registerReceiver(mGetCountBroadcast, myIntentFilter); }