package com.edufound.reader.receiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import com.orhanobut.logger.Logger; /** * 特定情况下页面返回上一个页面需要修改参数乱七八糟的 */ public class BackPageReceiver extends BroadcastReceiver { /** * 评论,他人页面返回回来要刷新单独的videoitem来修改UI(是否关注和评论数) */ public static final String BACK_HOME_REF_VIDEO_ITEM = "com.edufound.reader.back.home.ref.video.item"; /** * 从小红花界面/个人信息修改界面回来刷新用户信息 */ public static final String BACK_HOME_REF_USER_INFO = "com.edufound.reader.back.home.ref.user.info"; /** * 通知删除item * */ public static final String BACK_HOME_REMOVE_VIDEO_ITEM="com.edufound.reader.back.home.remove.video.item"; private static boolean isRegister = false; private static onBackPage mBackListener; private static class InstanceHolder { private static final BackPageReceiver INSTANCE = new BackPageReceiver(); } @Override public void onReceive(Context context, Intent intent) { mBackListener.pageBack(intent); } public static void registerReceiver(Context context, String action) { if(action.equals(BACK_HOME_REMOVE_VIDEO_ITEM)){ Logger.e("注册删除广播"); } IntentFilter intentFilter = new IntentFilter(action); context.registerReceiver(BackPageReceiver.InstanceHolder.INSTANCE, intentFilter); isRegister = true; } public static void registerBackPageReceiverListener(onBackPage listener) { mBackListener = listener; } public static void unRegisterReceiver(Context context) { if (isRegister) { context.unregisterReceiver(BackPageReceiver.InstanceHolder.INSTANCE); isRegister = false; } } public interface onBackPage { void pageBack(Intent intent); } }