在Android 12及以上版本中,必须在应用程序中注册MediaProjectionManager以使用屏幕录制。应该在用户允许使用屏幕录制时请求权限。
以下是在Android 12及以上版本中请求屏幕录制权限的示例代码:
1.在AndroidManifest.xml文件中加入以下权限:
2.在MainActivity.java文件中添加以下方法: private static final int REQUEST_CODE_SCREEN_RECORDING = 0;
private void requestScreenRecordingPermission() { MediaProjectionManager mediaProjectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE); if (mediaProjectionManager != null) { startActivityForResult( mediaProjectionManager.createScreenCaptureIntent(), REQUEST_CODE_SCREEN_RECORDING); } }
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE_SCREEN_RECORDING && resultCode == RESULT_OK) { // Permission granted, start screen recording } }
3.在需要进行屏幕录制的地方调用requestScreenRecordingPermission()方法即可。当用户授权后,onActivityResult()方法会被调用,可以在此处开始屏幕录制。