class OverlayViewManager { private final Context mContext; // Service private final WindowManager mWindowManager; private final WindowManager.LayoutParams mParams; private View mRootView; public void destroy() { if (mRootView == null) return; mWindowManager.removeView(mRootView) } } 52
Λѻ͏ public class OverlayViewService extends Service { private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context c, Intent i) { mOverlayViewManager.changeConfiguration(); } } } 54
Λѻ͏ public class OverlayViewService extends Service { private final BroadcastReceiver mReceiver = //… @Override public void onCreate() { //…… IntentFilter filter = new IntentFilter( Intent.ACTION_CONFIGURATION_CHANGE); registerReceiver(mReceiver, filter); } } 55
Λѻ͏ public class OverlayViewService extends Service { private final BroadcastReceiver mReceiver = //… @Override public void onCreate() { //…… IntentFilter filter = new IntentFilter( Intent.ACTION_CONFIGURATION_CHANGE); registerReceiver(mReceiver, filter); } } 56
Λѻ͏ public class OverlayViewService extends Service { private final BroadcastReceiver mReceiver = //… @Override public void onDestroy() { //…… unregisterReceiver(mReceiver); } } 57
ʹσʔλΛͭΊΔ public class DebugOverlayService extends Service { public static final String EXTRA_DATA = // …… private OverlayViewManager mManager; @Override public int onStartCommand(Intent i, int flags, int startId) { // …… Data data = i.getParcelableExtra(EXTRA_DATA); mManager.onReceiveData(data); } } 88
ʹσʔλΛͭΊΔ public class DebugOverlayService extends Service { public static final String EXTRA_DATA = // …… private OverlayViewManager mManager; @Override public int onStartCommand(Intent i, int flags, int startId) { // …… Data data = i.getParcelableExtra(EXTRA_DATA); mManager.onReceiveData(data); } } 89
ʹσʔλΛͭΊΔ public class DebugOverlayService extends Service { public static final String EXTRA_DATA = // …… private OverlayViewManager mManager; @Override public int onStartCommand(Intent i, int flags, int startId) { // …… Data data = i.getParcelableExtra(EXTRA_DATA); mManager.onReceiveData(data); } } 90