当前位置: 首页 > news >正文

赣榆网站建设在线排名优化

赣榆网站建设,在线排名优化,苏州现在可以正常进入吗,深圳中心网站建设在安卓开发中,可以通过MediaProjection API来实现屏幕投屏的功能,同时也可以通过Socket通信实现反控功能。下面将详细介绍实现步骤和注意事项。 1. 创建MediaProjectionManager对象 首先,我们需要创建一个MediaProjectionManager对象&#…

在安卓开发中,可以通过MediaProjection API来实现屏幕投屏的功能,同时也可以通过Socket通信实现反控功能。下面将详细介绍实现步骤和注意事项。

1. 创建MediaProjectionManager对象

首先,我们需要创建一个MediaProjectionManager对象,用于管理屏幕投影。

MediaProjectionManager mediaProjectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);

2. 获取屏幕投影的Intent并启动Activity获取投影权限

通过MediaProjectionManager.createScreenCaptureIntent()方法获取屏幕投影的Intent,并启动Activity获取投影权限。在Activity的onActivityResult()回调方法中,通过MediaProjectionManager.getMediaProjection()方法获取MediaProjection对象。

Intent intent = mediaProjectionManager.createScreenCaptureIntent();
startActivityForResult(intent, REQUEST_MEDIA_PROJECTION);@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == REQUEST_MEDIA_PROJECTION && resultCode == Activity.RESULT_OK) {mediaProjection = mediaProjectionManager.getMediaProjection(resultCode, data);// ...}
}

3. 创建虚拟显示器进行屏幕投影

在Activity中,我们可以通过MediaProjection.createVirtualDisplay()方法创建一个虚拟显示器来进行屏幕投影。

ImageReader imageReader = ImageReader.newInstance(width, height, PixelFormat.RGBA_8888, 2);
VirtualDisplay virtualDisplay = mediaProjection.createVirtualDisplay("MyScreen", width, height, dpi,DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY | DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC,imageReader.getSurface(), null, handler);

4. 将虚拟显示器的输出流转换成Bitmap或者ByteBuffer对象

接下来,我们需要将虚拟显示器的输出流转换成Bitmap或者ByteBuffer对象,并使用Socket通信将数据发送给远程设备。

Image image = imageReader.acquireLatestImage();
if (image != null) {ByteBuffer buffer = image.getPlanes()[0].getBuffer();int pixelStride = image.getPlanes()[0].getPixelStride();int rowStride = image.getPlanes()[0].getRowStride();int rowPadding = rowStride - pixelStride * width;Bitmap bitmap = Bitmap.createBitmap(width + rowPadding / pixelStride, height, Bitmap.Config.ARGB_8888);bitmap.copyPixelsFromBuffer(buffer);// 将bitmap转为byte数组并发送到远程设备byte[] data = getBytesFromBitmap(bitmap);sendToRemoteDevice(data);image.close();
}

5. 接收发送数据的远程设备信息并渲染屏幕

在远程设备上,可以通过Socket通信接收发送的数据,并将数据解码成Bitmap对象。随后,将Bitmap对象渲染到屏幕上。同时,可以通过Socket通信将鼠标和键盘事件发送回到安卓设备,实现反控功能。

// 从Socket接收数据并解码成Bitmap
byte[] data = receiveFromAndroidDevice();
Bitmap bitmap = getBitmapFromData(data);// 在屏幕上渲染Bitmap
imageView.setImageBitmap

http://www.hkea.cn/news/237194/

相关文章:

  • 动态网站订单怎么做搜索引擎优化营销
  • html5行业网站最近有哪些新闻
  • 做网站业务的怎么寻找客户在哪里打广告效果最好
  • 广东深圳seo服务内容
  • 做网站怎么备案网络服务有限公司
  • 网站主页特效欣赏百度官网下载电脑版
  • php mysql开发网站开发任何小说都能搜到的软件
  • the7 wordpress主题宁波seo外包费用
  • 云南建筑培训网seo刷点击软件
  • 男女做暖网站h5页面制作平台
  • 可以做puzzle的网站百度关键词排名提升工具
  • 竞网网站建设南宁网站seo大概多少钱
  • 114黄页信息网宝鸡seo培训
  • 东南亚做棋牌网站挖掘爱站网
  • 中国工程建设招标网官方网站谷歌查询关键词的工具叫什么
  • wordpress管理员密码忘记成都seo招聘
  • 武汉企业建站系统模板下载官方正版百度
  • 上海做网站国际财经新闻
  • 用废旧盒子做家用物品网站seo排名工具
  • 企业铭做网站域名解析在线查询
  • 怎么注册自己的小程序网站优化分析
  • 荆州网站建设流程网站设计培训
  • 网站支付怎么做的seo职业技能培训班
  • 做csgo直播网站上海知名网站制作公司
  • 深圳住建局官方网站seo网站关键词优化快速官网
  • 网站建设需要php吗企业的互联网推广
  • 苏中建设集团官方网站电商软文广告经典案例
  • 网站开发需要什么开发工具代做百度首页排名价格
  • 北京网站设计多少钱微信引流推广
  • 网站建设实施背景分析百度指数里的资讯指数是什么