Android开发如何实现录屏小功能
发布时间:2020-07-30 09:20:54
来源:亿速云
阅读:222
作者:小猪
这篇文章主要讲解了Android开发如何实现录屏小功能,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
最近开发中,要实现录屏功能,查阅相关资料,发现调用 MediaProjectionManager的api 实现录屏功能即可:
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.media.projection.MediaProjectionManager;
import android.os.Build;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
public class RecordScreenActivity extends Activity {
private boolean isRecord = false;
private int mScreenWidth;
private int mScreenHeight;
private int mScreenDensity;
private int REQUEST_CODE_PERMISSION_STORAGE = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestPermission();
getScreenBaseInfo();
startScreenRecord();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1000) {
if (resultCode == RESULT_OK) {
//获得录屏权限,启动Service进行录制
Intent intent = new Intent(this, ScreenRecordService.class);
intent.putExtra("resultCode", resultCode);
intent.putExtra("resultData", data);
intent.putExtra("mScreenWidth", mScreenWidth);
intent.putExtra("mScreenHeight", mScreenHeight);
intent.putExtra("mScreenDensity", mScreenDensity);
startService(intent);
finish();
}
}
}
//start screen record
private void startScreenRecord() {
//Manages the retrieval of certain types of MediaProjection tokens.
MediaProjectionManager mediaProjectionManager =
(MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION