Java 类android.media.projection.MediaProjectionManager 实例源码
项目:SmingZZick_App
文件:MainActivity.java
@Override
@TargetApi(21)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
String uri = data.toUri(0);
MediaProjectionManager projectionManager = (MediaProjectionManager) getSystemService(Activity.MEDIA_PROJECTION_SERVICE);
MediaProjection mediaProjection = projectionManager.getMediaProjection(resultCode, data);
ScreenCaptureService.setMediaProjection(mediaProjection);
startService(new Intent(ScreenCaptureService.ACTION_START, null, this, ScreenCaptureService.class));
fab.setSelected(true);
}
if (requestCode == REQUEST_CODE_MAKE_SMING && resultCode == RESULT_OK) {
loadSmings();
checkEmpty();
}
}
项目:Bigbang
文件:ScreenCapture.java
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
private void createVirtualEnvironment() {
dateFormat = new SimpleDateFormat("yyyy_MM_dd_hh_mm_ss");
strDate = dateFormat.format(new java.util.Date());
pathImage = Environment.getExternalStorageDirectory().getPath() + "/Pictures/";
nameImage = pathImage + strDate + ".png";
mMediaProjectionManager1 = (MediaProjectionManager) activity.getApplication().getSystemService(Context.MEDIA_PROJECTION_SERVICE);
mWindowManager1 = (WindowManager) activity.getApplication().getSystemService(Context.WINDOW_SERVICE);
windowWidth = ViewUtil.getScreenWidth(activity);
windowHeight = ViewUtil.getSceenHeight(activity);
metrics = new DisplayMetrics();
mWindowManager1.getDefaultDisplay().getMetrics(metrics);
mScreenDensity = metrics.densityDpi;
mImageReader = ImageReader.newInstance(windowWidth, windowHeight, 0x1, 2); //ImageFormat.RGB_565
LogUtil.d(TAG, "prepared the virtual environment");
}
项目:Agora-Screen-Sharing-Android
文件:ScreenBroadcastReceiver.java
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equalsIgnoreCase(ScreenCapture.ASSISTANT_ACTIVITY_CREATED_INTENT)) {
ScreenCapture screenCapture = mSender;
if (ScreenCapture.mScreenCaptureActivity != null) {
ScreenCapture.ScreenCaptureAssistantActivity screenActivity =
ScreenCapture.mScreenCaptureActivity;
ScreenCapture.mScreenCaptureActivity.mScreenCapture = screenCapture;
if (screenActivity.mScreenCapture.mMediaProjectManager == null) {
screenActivity.mScreenCapture.mMediaProjectManager =
(MediaProjectionManager) screenActivity.getSystemService(Context.MEDIA_PROJECTION_SERVICE);
}
screenActivity.startActivityForResult(
screenActivity.mScreenCapture.mMediaProjectManager.createScreenCaptureIntent(),
ScreenCapture.MEDIA_PROJECTION_REQUEST_CODE);
}
}
}
项目:AppRTC-Android
文件:ScreenCapturerAndroid.java
@Override
public synchronized void initialize(final SurfaceTextureHelper surfaceTextureHelper,
final Context applicationContext, final VideoCapturer.CapturerObserver capturerObserver) {
checkNotDisposed();
if (capturerObserver == null) {
throw new RuntimeException("capturerObserver not set.");
}
this.capturerObserver = capturerObserver;
if (surfaceTextureHelper == null) {
throw new RuntimeException("surfaceTextureHelper not set.");
}
this.surfaceTextureHelper = surfaceTextureHelper;
mediaProjectionManager = (MediaProjectionManager) applicationContext.getSystemService(
Context.MEDIA_PROJECTION_SERVICE);
}
项目:AndroidRTC
文件:ScreenCapturerAndroid.java
@Override
public synchronized void initialize(final SurfaceTextureHelper surfaceTextureHelper,
final Context applicationContext, final VideoCapturer.CapturerObserver capturerObserver) {
checkNotDisposed();
if (capturerObserver == null) {
throw new RuntimeException("capturerObserver not set.");
}
this.capturerObserver = capturerObserver;
if (surfaceTextureHelper == null) {
throw new RuntimeException("surfaceTextureHelper not set.");
}
this.surfaceTextureHelper = surfaceTextureHelper;
mediaProjectionManager = (MediaProjectionManager) applicationContext.getSystemService(
Context.MEDIA_PROJECTION_SERVICE);
}
项目:VideoCRE
文件:ScreenCapturerAndroid.java
@Override
public synchronized void initialize(final SurfaceTextureHelper surfaceTextureHelper,
final Context applicationContext, final VideoCapturer.CapturerObserver capturerObserver) {
checkNotDisposed();
if (capturerObserver == null) {
throw new RuntimeException("capturerObserver not set.");
}
this.capturerObserver = capturerObserver;
if (surfaceTextureHelper == null) {
throw new RuntimeException("surfaceTextureHelper not set.");
}
this.surfaceTextureHelper = surfaceTextureHelper;
mediaProjectionManager = (MediaProjectionManager) applicationContext.getSystemService(
Context.MEDIA_PROJECTION_SERVICE);
}
项目:accelerator-core-android
文件:ScreenSharingFragment.java
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Activity activity = getActivity();
DisplayMetrics metrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
mDensity = metrics.densityDpi;
mMediaProjectionManager = (MediaProjectionManager)
activity.getSystemService(Context.MEDIA_PROJECTION_SERVICE);
//run permissions
startActivityForResult(
mMediaProjectionManager.createScreenCaptureIntent(),
REQUEST_MEDIA_PROJECTION);
}
项目:FloatingNew
文件:ScreenShortActivity.java
/****************************************** Activity Lifecycle methods ************************/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_screen_short);
// call for the projection manager
mProjectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
startProjection();
// start capture handling thread
new Thread() {
@Override
public void run() {
Looper.prepare();
mHandler = new Handler();
Looper.loop();
}
}.start();
}
项目:FloatingNew
文件:RecordingScreen.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_blank);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
mScreenDensity = metrics.densityDpi;
mMediaRecorder = new MediaRecorder();
initRecorder();
prepareRecorder();
mProjectionManager = (MediaProjectionManager) getSystemService
(Context.MEDIA_PROJECTION_SERVICE);
mToggleButton = (ToggleButton) findViewById(R.id.toggle);
mToggleButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onToggleScreenShare(v);
}
});
mMediaProjectionCallback = new MediaProjectionCallback();
}
项目:SCR-Screen-Recorder-app
文件:MediaProjectionActivity.java
public void requestMediaProjection() {
boolean permanent = Utils.isMediaProjectionPermanent(this);
boolean affectedVersion = Build.VERSION.RELEASE.equals("5.1") || Build.VERSION.RELEASE.equals("5.1.0");
if (affectedVersion && permanent && !getSharedPreferences(PREFERENCES_NAME, 0).getBoolean(SYSTEM_UI_CRASH_MESSAGE, false)) {
getSharedPreferences(PREFERENCES_NAME, 0).edit().putBoolean(SYSTEM_UI_CRASH_MESSAGE, true).apply();
new SystemUICrashDialogFragment().show(getFragmentManager(), SystemUICrashDialogFragment.FRAGMENT_TAG);
} else {
if (affectedVersion && !permanent) {
Toast.makeText(this, getString(R.string.system_ui_crash_warning_toast, getString(R.string.media_projection_remember_text)), Toast.LENGTH_SHORT).show();
}
MediaProjectionManager mediaProjectionManager =
(MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
startActivityForResult(mediaProjectionManager.createScreenCaptureIntent(),
PERMISSION_CODE);
}
}
项目:castscreen
文件:CastScreenMediaRouteButton.java
@Override
public boolean showDialog() {
try {
Activity currentActivity = getActivity();
final FragmentManager fm = ((FragmentActivity) currentActivity).getSupportFragmentManager();
if (!isAttachedToWindow()
|| (fm.findFragmentByTag(CONTROLLER_TAG) != null)
|| (fm.findFragmentByTag(CHOOSER_TAG) != null) ) {
return false;
}
MediaRouter.RouteInfo route = getMediaRouter().getSelectedRoute();
if (route.isDefault() || !route.matchesSelector(mSelector)) { // route chooser
Intent intent = ((MediaProjectionManager)
currentActivity.getSystemService(Context.MEDIA_PROJECTION_SERVICE)).createScreenCaptureIntent();
currentActivity.startActivityForResult(intent, CastScreenActivity.SCREEN_CAPTURE_REQUEST);
return true;
} else { // route controller
return super.showDialog();
}
} catch (NoSuchFieldException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
Log.e(TAG, "MediaRouteButton implementation changed - " + CastScreenActivity.PLEASE_REPORT_BUG);
}
return false;
}
项目:castscreen
文件:ProjectionManager.java
public ProjectionManager(Context context, DisplayMetrics metrics,
int permissionsResultCode, Intent permissionsData, final MediaRouter router) {
mDensity = metrics.densityDpi;
mProjection = ((MediaProjectionManager) context.getSystemService(Context.MEDIA_PROJECTION_SERVICE))
.getMediaProjection(permissionsResultCode, permissionsData);
if (mProjection == null) {
throw new IllegalStateException("Null media projection manager - " + CastScreenActivity.PLEASE_REPORT_BUG);
}
// When the MediaProjection is stopped, deselect the active route to ensure casting stops
mProjection.registerCallback(new MediaProjection.Callback() {
@Override
public void onStop() {
router.selectRoute(router.getDefaultRoute());
}
}, null);
}
项目:GoIV
文件:MainActivity.java
@TargetApi(Build.VERSION_CODES.M)
@Override
/**
* Called when another activity has sent a result to this activity. For example when this activity starts the
* activity which calls for the projectionmanager, which tells this class if the screen capture has been enabled.
*/
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == OVERLAY_PERMISSION_REQ_CODE) {
updateLaunchButtonText(false);
} else if (requestCode == SCREEN_CAPTURE_REQ_CODE) {
if (resultCode == RESULT_OK) {
MediaProjectionManager projectionManager = (MediaProjectionManager) getSystemService(
Context.MEDIA_PROJECTION_SERVICE);
MediaProjection mProjection = projectionManager.getMediaProjection(resultCode, data);
screen = ScreenGrabber.init(mProjection, rawDisplayMetrics);
startPokeFly();
} else {
updateLaunchButtonText(false);
}
}
}
项目:Kaku
文件:MainService.java
@Override
public int onStartCommand(Intent intent, int flags, int startId){
Log.d(TAG, "onStartCommand");
mHandler = new MainServiceHandler(this);
mIntent = (Intent) intent.getExtras().get(EXTRA_RESULT_INTENT);
mResultCode = intent.getExtras().getInt(EXTRA_RESULT_CODE);
mMediaProjectionManager = (MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);
if (mCaptureWindow == null){
mCaptureWindow = new CaptureWindow(this);
}
else {
mCaptureWindow.reInit();
}
return START_NOT_STICKY;
}
项目:365browser
文件:ScreenCapture.java
@CalledByNative
public boolean allocate(int width, int height) {
mWidth = width;
mHeight = height;
mMediaProjectionManager =
(MediaProjectionManager) ContextUtils.getApplicationContext().getSystemService(
Context.MEDIA_PROJECTION_SERVICE);
if (mMediaProjectionManager == null) {
Log.e(TAG, "mMediaProjectionManager is null");
return false;
}
WindowManager windowManager =
(WindowManager) ContextUtils.getApplicationContext().getSystemService(
Context.WINDOW_SERVICE);
mDisplay = windowManager.getDefaultDisplay();
DisplayMetrics metrics = new DisplayMetrics();
mDisplay.getMetrics(metrics);
mScreenDensity = metrics.densityDpi;
return true;
}
项目:tabulae
文件:ScreenCaptureFragment.java
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (DEBUG) Log.d(TAG, "ScreenCaptureFragment.onActivityCreated enabled=" + enabled + ", mVirtualDisplay=" + mVirtualDisplay);
Activity activity = getActivity();
DisplayMetrics mDisplayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
mScreenDensity = mDisplayMetrics.densityDpi;
mScreenWidth = mDisplayMetrics.widthPixels;
mScreenHeight = mDisplayMetrics.heightPixels;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mMediaProjectionManager = (MediaProjectionManager) activity.getSystemService(Context.MEDIA_PROJECTION_SERVICE);
}
else {
; // TODO
}
mMediaRecorder = new MediaRecorder();
if (enabled && mVirtualDisplay == null) {
go();
}
}
项目:ApkLauncher
文件:MediaProjectionDemo.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.media_projection);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
mScreenDensity = metrics.densityDpi;
mSurfaceView = (SurfaceView) findViewById(R.id.surface);
mSurface = mSurfaceView.getHolder().getSurface();
mProjectionManager =
(MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
ArrayAdapter<Resolution> arrayAdapter = new ArrayAdapter<Resolution>(
this, android.R.layout.simple_list_item_1, RESOLUTIONS);
Spinner s = (Spinner) findViewById(R.id.spinner);
s.setAdapter(arrayAdapter);
s.setOnItemSelectedListener(new ResolutionSelector());
s.setSelection(0);
}
项目:screenshare-playground
文件:MainActivity.java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
String ip = mReceiverIpEditText.getText().toString();
final SharedPreferences sharedPreferences = getSharedPreferences(PREF_NAME, 0);
final SharedPreferences.Editor edit = sharedPreferences.edit();
edit.putString(RECEIVER_IP_KEY,ip);
edit.commit();
if(resultCode == RESULT_OK && requestCode==GET_MEDIA_PROJECTION_CODE){
try {
@SuppressWarnings("ResourceType") MediaProjectionManager mediaProjectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
final MediaProjection mediaProjection = mediaProjectionManager.getMediaProjection(resultCode, data);
mEncoderAsyncTask = new EncoderAsyncTask(this, mediaProjection, mMediaCodecFactory);
mEncoderAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
mSenderAsyncTask = new SenderAsyncTask(ip);
mSenderAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} catch (IOException e) {
mStartButton.setEnabled(false);
mStartButton.setText(getString(R.string.mediacodec_error));
e.printStackTrace();
}
}
}
项目:Telecine
文件:RecordingSession.java
RecordingSession(Context context, Listener listener, int resultCode, Intent data,
Analytics analytics, Provider<Boolean> showCountDown, Provider<Integer> videoSizePercentage) {
this.context = context;
this.listener = listener;
this.resultCode = resultCode;
this.data = data;
this.analytics = analytics;
this.showCountDown = showCountDown;
this.videoSizePercentage = videoSizePercentage;
File picturesDir = Environment.getExternalStoragePublicDirectory(DIRECTORY_MOVIES);
outputRoot = new File(picturesDir, "Telecine");
notificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
windowManager = (WindowManager) context.getSystemService(WINDOW_SERVICE);
projectionManager = (MediaProjectionManager) context.getSystemService(MEDIA_PROJECTION_SERVICE);
}
项目:felix-on-android
文件:MediaProjectionDemo.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.media_projection);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
mScreenDensity = metrics.densityDpi;
mSurfaceView = (SurfaceView) findViewById(R.id.surface);
mSurface = mSurfaceView.getHolder().getSurface();
mProjectionManager =
(MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
ArrayAdapter<Resolution> arrayAdapter = new ArrayAdapter<Resolution>(
this, android.R.layout.simple_list_item_1, RESOLUTIONS);
Spinner s = (Spinner) findViewById(R.id.spinner);
s.setAdapter(arrayAdapter);
s.setOnItemSelectedListener(new ResolutionSelector());
s.setSelection(0);
}
项目:https-github.com-hyb1996-NoRootScriptDroid
文件:ScreenCapturer.java
public ScreenCapturer(Context context, Intent data, int screenWidth, int screenHeight, int screenDensity, Handler handler) {
mScreenWidth = screenWidth;
mScreenHeight = screenHeight;
mScreenDensity = screenDensity;
mHandler = handler;
MediaProjectionManager manager = (MediaProjectionManager) context.getSystemService(Context.MEDIA_PROJECTION_SERVICE);
initVirtualDisplay(manager, data, screenWidth, screenHeight, screenDensity);
mHandler = handler;
startAcquireImageLoop();
}
项目:https-github.com-hyb1996-NoRootScriptDroid
文件:ScreenCapturer.java
private void initVirtualDisplay(MediaProjectionManager manager, Intent data, int screenWidth, int screenHeight, int screenDensity) {
mImageReader = ImageReader.newInstance(screenWidth, screenHeight, PixelFormat.RGBA_8888, 1);
mMediaProjection = manager.getMediaProjection(Activity.RESULT_OK, data);
mVirtualDisplay = mMediaProjection.createVirtualDisplay("screen-mirror",
screenWidth, screenHeight, screenDensity, DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
mImageReader.getSurface(), null, null);
}
项目:NotifyTools
文件:CaptureHelper.java
public static void fireScreenCaptureIntent(Activity activity ) {
MediaProjectionManager manager =
(MediaProjectionManager) activity.getSystemService(MEDIA_PROJECTION_SERVICE);
Intent intent = manager.createScreenCaptureIntent();
activity.startActivityForResult(intent, CREATE_SCREEN_CAPTURE);
}
项目:Amazing
文件:ScreenRecordActivity.java
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
private void init() {
metrics = this.getResources().getDisplayMetrics();
width = 720;
height = 1280;
//printInfo();
manager = (MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);
}
项目:pc-android-controller-android
文件:ScreenRecodeService.java
private void initScreenManager() {
L.d("初始化录屏。。。");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mMediaProjectionManager = (MediaProjectionManager)
getSystemService(Context.MEDIA_PROJECTION_SERVICE);
mMediaProjection = mMediaProjectionManager.getMediaProjection(Activity.RESULT_OK,
mCapturePermissionIntent);
}
startDisplayManager();
new Thread(new EncoderWorker()).start();
}
项目:pc-android-controller-android
文件:ScreenPermissionActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
// setTheme(android.R.style.Theme_Dialog);//这个在这里设置 之后导致 的问题是 背景很黑
super.onCreate(savedInstanceState);
//如下代码 只是想 启动一个透明的Activity 而上一个activity又不被pause
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
getWindow().setDimAmount(0f);
// requestScreenShot();
// PermissionsChecker pc = new PermissionsChecker(this);
// if (pc.lacksPermissions("android.permission.CAPTURE_VIDEO_OUTPUT",
// "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT")) {
// } else {
MediaProjectionManager mediaProjectionManager = (MediaProjectionManager)
getSystemService(Context.MEDIA_PROJECTION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
startActivityForResult(
mediaProjectionManager.createScreenCaptureIntent(),
REQUEST_MEDIA_PROJECTION);
}
// }
}
项目:Auto.js
文件:ScreenCapturer.java
public ScreenCapturer(Context context, Intent data, int screenWidth, int screenHeight, int screenDensity, Handler handler) {
mScreenWidth = screenWidth;
mScreenHeight = screenHeight;
mScreenDensity = screenDensity;
mHandler = handler;
MediaProjectionManager manager = (MediaProjectionManager) context.getSystemService(Context.MEDIA_PROJECTION_SERVICE);
initVirtualDisplay(manager, data, screenWidth, screenHeight, screenDensity);
mHandler = handler;
startAcquireImageLoop();
}
项目:Auto.js
文件:ScreenCapturer.java
private void initVirtualDisplay(MediaProjectionManager manager, Intent data, int screenWidth, int screenHeight, int screenDensity) {
mImageReader = ImageReader.newInstance(screenWidth, screenHeight, PixelFormat.RGBA_8888, 2);
mMediaProjection = manager.getMediaProjection(Activity.RESULT_OK, data);
mVirtualDisplay = mMediaProjection.createVirtualDisplay("screen-mirror",
screenWidth, screenHeight, screenDensity, DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
mImageReader.getSurface(), null, null);
}
项目:ScreenShotAnywhere
文件:ShotsService.java
private void createVirtualEnvironment() {
windowWidth = ScreenHelper.getScreenWidth(this);
windowHeight = ScreenHelper.getScreenHeight(this);
mScreenDensity = ScreenHelper.getScreenDensity(this);
mMediaProjectionManager1 = (MediaProjectionManager) getApplication().getSystemService(Context.MEDIA_PROJECTION_SERVICE);
mNManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
}
项目:rtmp-rtsp-stream-client-java
文件:DisplayBase.java
public DisplayBase(Context context) {
this.context = context;
mediaProjectionManager =
((MediaProjectionManager) context.getSystemService(MEDIA_PROJECTION_SERVICE));
this.surfaceView = null;
videoEncoder = new VideoEncoder(this);
microphoneManager = new MicrophoneManager(this);
audioEncoder = new AudioEncoder(this);
streaming = false;
}
项目:AppRTC-Android
文件:CallActivity.java
@TargetApi(21)
private void startScreenCapture() {
MediaProjectionManager mediaProjectionManager =
(MediaProjectionManager) getApplication().getSystemService(
Context.MEDIA_PROJECTION_SERVICE);
startActivityForResult(
mediaProjectionManager.createScreenCaptureIntent(), CAPTURE_PERMISSION_REQUEST_CODE);
}
项目:AndroidRTC
文件:CallActivity.java
@TargetApi(21)
private void startScreenCapture() {
MediaProjectionManager mediaProjectionManager =
(MediaProjectionManager) getApplication().getSystemService(
Context.MEDIA_PROJECTION_SERVICE);
startActivityForResult(
mediaProjectionManager.createScreenCaptureIntent(), CAPTURE_PERMISSION_REQUEST_CODE);
}
项目:video-quickstart-android
文件:ScreenCapturerActivity.java
private void requestScreenCapturePermission() {
Log.d(TAG, "Requesting permission to capture screen");
MediaProjectionManager mediaProjectionManager = (MediaProjectionManager)
getSystemService(Context.MEDIA_PROJECTION_SERVICE);
// This initiates a prompt dialog for the user to confirm screen projection.
startActivityForResult(mediaProjectionManager.createScreenCaptureIntent(),
REQUEST_MEDIA_PROJECTION);
}
项目:AndroidScreenShot_SysApi
文件:ScreenShotActivity.java
public void requestScreenShot() {
if (Build.VERSION.SDK_INT >= 21) {
startActivityForResult(
((MediaProjectionManager) getSystemService("media_projection")).createScreenCaptureIntent(),
REQUEST_MEDIA_PROJECTION
);
}
else
{
toast("版本过低,无法截屏");
}
}
项目:SCR-Screen-Recorder-app
文件:ProjectionThreadRunner.java
public void setProjectionData(Intent data) {
MediaProjectionManager mediaProjectionManager =
(MediaProjectionManager) context.getSystemService(Context.MEDIA_PROJECTION_SERVICE);
mediaProjection = mediaProjectionManager.getMediaProjection(Activity.RESULT_OK, data);
if (mediaProjection != null) {
//disable callback as it doesn't work anyways
//mediaProjection.registerCallback(mediaProjectionCallback, handler);
if (getState() == RecordingProcessState.STARTING) {
start(file, null);
} else {
setState(RecordingProcessState.READY, null);
}
}
}
项目:EZScreenshot
文件:ScreenshotActivity.java
public void createScreenCaptureIntent() {
LogUtil.LOGI("startActivityForResult");
MediaProjectionManager projectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
Intent intent = projectionManager.createScreenCaptureIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent, PERMISSION_CODE_MEDIA_PROJECTION);
}
项目:android-screen-shot
文件:TakeScreenShotActivity.java
public void takeScreenshot() {
MediaProjectionManager mediaProjectionManager = (MediaProjectionManager)
getSystemService(Context.MEDIA_PROJECTION_SERVICE);
startActivityForResult(
mediaProjectionManager.createScreenCaptureIntent(),
REQUEST_MEDIA_PROJECTION);
}
项目:androidStreamer
文件:ScreenCaptureActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
} else {
requestWindowFeature(Window.FEATURE_NO_TITLE);
}
super.onCreate(savedInstanceState);
mContext = this;
// System.out.println(R.layout.activity_screen_streaming);
setContentView(R.layout.activity_screen_streaming);
mRootView = findViewById(R.id.content);
//mRootView.addOnLayoutChangeListener(this);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
mScreenDensity = metrics.densityDpi;
mMediaRecorder = new MediaRecorder();
mProjectionManager = (MediaProjectionManager) getSystemService
(Context.MEDIA_PROJECTION_SERVICE);
mToggleButton = (ToggleButton) findViewById(R.id.toggle);
mToggleButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onToggleScreenShare(v);
}
});
}
项目:ProyectoAndroid
文件:Presenter.java
public void prepareVideo(){
metrics = new DisplayMetrics();
view.getWindowManager().getDefaultDisplay().getMetrics(metrics);
mScreenDensity = metrics.densityDpi;
mMediaRecorder = new MediaRecorder();
mProjectionManager = (MediaProjectionManager) view.getSystemService
(Context.MEDIA_PROJECTION_SERVICE);
}
项目:StraaS-android-sdk-sample
文件:MyScreencastSession.java
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public void onSessionCreate(Context context, SessionListener listener, Bundle bundle) {
this.mContext = context;
this.mListener = listener;
mWindowManager = (WindowManager) mContext.getSystemService(WINDOW_SERVICE);
mMediaProjectionManager = (MediaProjectionManager) mContext.getSystemService(MEDIA_PROJECTION_SERVICE);
this.mResultCode = bundle.getInt(EXTRA_SCREEN_CAPTURE_INTENT_RESULT_CODE);
this.mResultData = bundle.getParcelable(EXTRA_SCREEN_CAPTURE_INTENT_RESULT_DATA);
this.mVideoQuality = bundle.getInt(EXTRA_LIVE_VIDEO_QUALITY);
this.mTitle = bundle.getString(EXTRA_LIVE_EVENT_TITLE);
this.mSynopsis = bundle.getString(EXTRA_LIVE_EVENT_SYNOPSIS);
}