@Override public void onDestroy() { super.onDestroy(); if (mMediaProjection != null) { mMediaProjection.stop(); mMediaProjection = null; } }
@CalledByNative public void stopCapture() { Log.d(TAG, "stopCapture"); synchronized (mCaptureStateLock) { if (mMediaProjection != null && mCaptureState == CaptureState.STARTED) { mMediaProjection.stop(); changeCaptureStateAndNotify(CaptureState.STOPPING); } while (mCaptureState != CaptureState.STOPPED) { try { mCaptureStateLock.wait(); } catch (InterruptedException ex) { Log.e(TAG, "ScreenCaptureEvent: " + ex); } } } }
private void stopProjection() { if (mMediaProjection != null) mMediaProjection.stop(); if (mVirtualDisplay != null) mVirtualDisplay.release(); mImageView.setImageResource(R.mipmap.ic_launcher); }