Bootstrap

android 录屏功能,Android开发如何实现录屏小功能

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

;