下面列出了android.support.v4.content.LocalBroadcastManager#sendBroadcast ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
protected void onDestroy() {
super.onDestroy();
if (outState != null)
outState.putParcelable(BUNDLE_READ_POSITION_CONFIG_CHANGE, lastReadPosition);
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this);
localBroadcastManager.unregisterReceiver(searchReceiver);
localBroadcastManager.unregisterReceiver(closeBroadcastReceiver);
if (r2StreamerServer != null) {
r2StreamerServer.stop();
}
if (isFinishing())
localBroadcastManager.sendBroadcast(new Intent(FolioReader.ACTION_FOLIOREADER_CLOSED));
}
@Override
protected void onHandleIntent(Intent intent) {
// If the intent contains an update
if (ActivityRecognitionResult.hasResult(intent)) {
// Get the update
ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
Intent i = new Intent(BROADCAST_UPDATE);
i.putExtra(RECOGNITION_RESULT, result);
LocalBroadcastManager manager = LocalBroadcastManager.getInstance(this);
manager.sendBroadcast(i);
}
}
private void clearUnread(int position){
// 发送一个进入聊天的通知,让消息列表界面刷新UI
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(mContext);
UserModel user = users.get(position);
String conversationId = user.getName();
Intent intent = new Intent(BroadcastConstant.clearUnreadMessage);
intent.putExtra("conversation", conversationId);
localBroadcastManager.sendBroadcast(intent);
}
private void sendMsgAfter(MessageModel messageModel) {
messageList.add(messageModel);
adapter.notifyDataSetChanged();
listView.smoothScrollToPosition(messageList.size() - 1);
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(mContext);
localBroadcastManager.sendBroadcast(new Intent(BroadcastConstant.updateConversation));
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("PopUpActivity", "onDestroy()");
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this);
localBroadcastManager.sendBroadcast(new Intent(INTENT_ACTION_DESTROYED));
localBroadcastManager.unregisterReceiver(broadcastReceiver);
releaseViews();
}
@Override
public int onRunTask(TaskParams taskParams) {
Log.d(TAG, "onRunTask: " + taskParams.getTag());
String tag = taskParams.getTag();
// Default result is success.
int result = GcmNetworkManager.RESULT_SUCCESS;
// Choose method based on the tag.
if (MainActivity.TASK_TAG_WIFI.equals(tag)) {
result = doWifiTask();
} else if (MainActivity.TASK_TAG_CHARGING.equals(tag)) {
result = doChargingTask();
} else if (MainActivity.TASK_TAG_PERIODIC.equals(tag)) {
result = doPeriodicTask();
}
// Create Intent to broadcast the task information.
Intent intent = new Intent();
intent.setAction(ACTION_DONE);
intent.putExtra(EXTRA_TAG, tag);
intent.putExtra(EXTRA_RESULT, result);
// Send local broadcast, running Activities will be notified about the task.
LocalBroadcastManager manager = LocalBroadcastManager.getInstance(this);
manager.sendBroadcast(intent);
// Return one of RESULT_SUCCESS, RESULT_FAILURE, or RESULT_RESCHEDULE
return result;
}
private void notifyBlockEvent(long endTime,long startTime){
Log.e(TAG,"block time:"+(endTime-startTime));
LocalBroadcastManager manager= LocalBroadcastManager.getInstance(mContext);
Intent intent=new Intent(ACTION_BLOCK);
intent.putExtra(EXTRA_START_TIME,startTime);
intent.putExtra(EXTRA_FINISH_TIME,endTime);
manager.sendBroadcast(intent);
}
@Override
public void onDeactivated(int reason) {
isProcessing = false;
Context context = getApplicationContext();
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context);
lbm.sendBroadcast(new Intent(PAYMENT_SENT));
}
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Send broadcast message to the DfuService
final LocalBroadcastManager manager = LocalBroadcastManager.getInstance(getActivity());
final Intent pauseAction = new Intent(DfuService.BROADCAST_ACTION);
pauseAction.putExtra(DfuService.EXTRA_ACTION, DfuService.ACTION_PAUSE);
manager.sendBroadcast(pauseAction);
}
@Override
public void onCancel(final DialogInterface dialog) {
// Send broadcast message to the DfuService
final LocalBroadcastManager manager = LocalBroadcastManager.getInstance(getActivity());
final Intent pauseAction = new Intent(DfuService.BROADCAST_ACTION);
pauseAction.putExtra(DfuService.EXTRA_ACTION, DfuService.ACTION_RESUME);
manager.sendBroadcast(pauseAction);
}
private void switchScreenOn(){
Intent intent = new Intent(BrowserActivity.BROADCAST_ACTION_SCREEN_ON);
LocalBroadcastManager bm = LocalBroadcastManager.getInstance(getApplicationContext());
bm.sendBroadcast(intent);
}
private void clearBrowserCache(){
Intent intent = new Intent(BrowserActivity.BROADCAST_ACTION_CLEAR_BROWSER_CACHE);
LocalBroadcastManager bm = LocalBroadcastManager.getInstance(getApplicationContext());
bm.sendBroadcast(intent);
}
public static final void sendBroadcast(Context context, String action) {
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context);
lbm.sendBroadcast(new Intent(action));
}
public static final void sendBroadcast(Context context, Intent intent) {
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context);
lbm.sendBroadcast(intent);
}
private void broadcastOfflineVideoSetChanged() {
LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(this);
Intent intent = new Intent(Constants.ACTION_OFFLINE_VIDEO_SET_CHANGED);
broadcastManager.sendBroadcast(intent);
}
/**
* 发送微信支付结果的本地广播
* 本地广播比全局广播效率高,更安全
* <p>
* 接收者请参考:
* http://www.cnblogs.com/trinea/archive/2012/11/09/2763182.html
*
* @param resultCode
*/
private void sendPayResultBroadcast(int resultCode) {
LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(getApplicationContext());
Intent payResult = new Intent();
payResult.setAction(WECHAT_PAY_RESULT_ACTION);
payResult.putExtra(WECHAT_PAY_RESULT_EXTRA, resultCode);
broadcastManager.sendBroadcast(payResult);
finish();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GoogleAnalyticsManager.getInstance().sendViewEventStats(PopUpActivity.class.getSimpleName());
Log.d("PopUpActivity", "onCreate() popuptype = " + getIntent().getIntExtra(INTENT_EXTRA_TYPE, PopUp.TYPE_NONE));
setContentView(R.layout.activity_popup);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
initViews();
isCancelable = getIntent().getBooleanExtra(INTENT_EXTRA_CANCELABLE, true);
setLayout(getIntent());
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this);
IntentFilter popupActivityFilter = new IntentFilter();
popupActivityFilter.addAction(INTENT_ACTION_CLOSE);
popupActivityFilter.addAction(INTENT_ACTION_UPDATE_PROGRESS);
popupActivityFilter.addAction(INTENT_ACTION_UPDATE_LAYOUT);
//listen for close or update progress.xml request
localBroadcastManager.registerReceiver(broadcastReceiver, popupActivityFilter);
//notify creation of activity to calling code PopUp class
localBroadcastManager.sendBroadcast(new Intent(INTENT_ACTION_CREATED));
}