react-native-navigation的迁移库

ScreenChangeBroadcastReceiver.java 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package com.reactnativenavigation.events;
  2. import android.content.BroadcastReceiver;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.content.IntentFilter;
  6. import android.support.v4.content.LocalBroadcastManager;
  7. import com.reactnativenavigation.NavigationApplication;
  8. public class ScreenChangeBroadcastReceiver extends BroadcastReceiver {
  9. private OnScreenChangeListener onTabSelectedListener;
  10. public interface OnScreenChangeListener {
  11. void onScreenChangeListener();
  12. }
  13. public ScreenChangeBroadcastReceiver(OnScreenChangeListener onTabSelectedListener) {
  14. this.onTabSelectedListener = onTabSelectedListener;
  15. }
  16. @Override
  17. public void onReceive(Context context, Intent intent) {
  18. onTabSelectedListener.onScreenChangeListener();
  19. }
  20. public void register() {
  21. IntentFilter intentFilter = new IntentFilter();
  22. intentFilter.addAction(ScreenChangeBroadcast.ACTION);
  23. getBroadcastManager().registerReceiver(this, intentFilter);
  24. }
  25. public void unregister() {
  26. getBroadcastManager().unregisterReceiver(this);
  27. }
  28. private LocalBroadcastManager getBroadcastManager() {
  29. return LocalBroadcastManager.getInstance(NavigationApplication.instance);
  30. }
  31. }