123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- 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);
- }
- }
|