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

做网站推广维护需要学些什么域名备案关闭网站

做网站推广维护需要学些什么,域名备案关闭网站,长春火车站建在哪里,制作网站公司合同注意事项起因 在系统升级到Android10以上之后#xff0c;之前的截屏方式不能用了#xff0c;而且必须将MediaProject放在forground service里面跑才行。网上搜了一圈#xff0c;都是语焉不详或者没有完整的一个代码应用。只能自己写一个#xff0c;记录下 代码实现 新建一个Scre…起因 在系统升级到Android10以上之后之前的截屏方式不能用了而且必须将MediaProject放在forground service里面跑才行。网上搜了一圈都是语焉不详或者没有完整的一个代码应用。只能自己写一个记录下 代码实现 新建一个ScreenRecorder.java public class ScreenRecorder extends Service {NullableOverridepublic IBinder onBind(Intent intent) {return null;}private MediaProjection mMediaProjection;private MediaProjectionManager mMediaProjectionManager;private int SERVICE_ID 123;private String NOTIFICATION_CHANNEL_ID Screen Capture channel;public static final String ACTION_START RecordService:Start;public static final String ACTION_SNAPSHOT RecordService:Snapshot;public static final String ACTION_STOP RecordService:Stop;public static final String EXTRA_RESULT_DATA RecordService:Extra:ResultData;Overridepublic void onCreate() {super.onCreate();createNotificationChannel();startForeground(SERVICE_ID, new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID).build());mMediaProjectionManager (MediaProjectionManager) getApplicationContext().getSystemService(Context.MEDIA_PROJECTION_SERVICE);}Overridepublic int onStartCommand(final Intent intent, int flags, int startId) {if (intent ! null) {if (intent.getAction() ! null) {switch (intent.getAction()) {case ACTION_START:Log.d(TAG, onStartCommand: start recorder);mMediaProjection mMediaProjectionManager.getMediaProjection(Activity.RESULT_OK,Objects.requireNonNull(intent.getParcelableExtra(EXTRA_RESULT_DATA)));startCapture();return START_STICKY;case ACTION_SNAPSHOT: // stopSelf();snapshot();break;case ACTION_STOP:Log.d(TAG, onStartCommand: close imagereader);if (mImageReader ! null){try{mImageReader.close();}catch (Exception exception){Log.e(TAG, onStartCommand: exception.getMessage() );}}stopSelf();return START_NOT_STICKY;}}}return super.onStartCommand(intent, flags, startId);}private void createNotificationChannel() {NotificationChannel notificationChannel new NotificationChannel(NOTIFICATION_CHANNEL_ID,ScreenRecorder,NotificationManager.IMPORTANCE_DEFAULT);NotificationManager manager getSystemService(NotificationManager.class);manager.createNotificationChannel(notificationChannel);}private ImageReader mImageReader;private void startCapture() {DisplayMetrics displayMetrics new DisplayMetrics();WindowManager windowManager (WindowManager) getSystemService(Context.WINDOW_SERVICE);windowManager.getDefaultDisplay().getMetrics(displayMetrics);int screenWidth displayMetrics.widthPixels;int screenHeight displayMetrics.heightPixels;mImageReader ImageReader.newInstance(screenWidth, screenHeight, PixelFormat.RGBA_8888, 2);mMediaProjection.createVirtualDisplay(mediaprojection, screenWidth, screenHeight,displayMetrics.densityDpi, DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, mImageReader.getSurface(), null, null);}private void snapshot(){if (mImageReader ! null){Image image mImageReader.acquireLatestImage();int width image.getWidth();int height image.getHeight();final Image.Plane[] planes image.getPlanes();final ByteBuffer buffer planes[0].getBuffer();int pixelStride planes[0].getPixelStride();int rowStride planes[0].getRowStride();int rowPadding rowStride - pixelStride * width;Bitmap bitmap Bitmap.createBitmap(width rowPadding / pixelStride, height,Bitmap.Config.ARGB_8888);bitmap.copyPixelsFromBuffer(buffer);bitmap Bitmap.createBitmap(bitmap, 0, 0, width, height);//保存图片到本地CommonLib.saveMyBitmap(snapshot, bitmap);image.close();}} }AndroidManifest.xml中注册 !-- 申请权限 /-- uses-permission android:nameandroid.permission.FOREGROUND_SERVICE / service android:name.ScreenRecorderandroid:exportedtrueandroid:foregroundServiceTypemediaProjection/Activity中调用 public void onCreate(Bundle bundle) {super.onCreate(bundle);} /** * 申请权限 */public void requestCapturePermission() {MediaProjectionManager mediaProjectionManager (MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);Intent intent new Intent(mediaProjectionManager.createScreenCaptureIntent());startActivityForResult(intent, REQUESTRESULT);} // 回调里面启动服务 Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (resultCode RESULT_OK) {Intent intent new Intent(this, ScreenRecorder.class);intent.setAction(ScreenRecorder.ACTION_START);intent.putExtra(ScreenRecorder.EXTRA_RESULT_DATA, data);startForegroundService(intent);EnableTakePhotos true;} }snapshot方法 private void startSnapshot(){Intent intent new Intent(this, ScreenRecorder.class);intent.setAction(ScreenRecorder.ACTION_SNAPSHOT);startService(intent); }可以设置一个按钮然后在点击事件里面调用startSnapshot()方法即可
http://www.pierceye.com/news/199606/

相关文章:

  • dede织梦php文章图片网站源码 完整后台 带在线音乐做企业网站进行推广要多少钱
  • 网站正在建设中手机版基于wordpress论文
  • 建设培训网站查询战网
  • 正能量网站下载做网站沧州
  • 网站维护需要什么技能wordpress博客评论删除
  • 行业网站设计师招聘广州番禺网站建设公司推荐
  • 正规网站模板设计软件工程学科评估
  • 网站集约化建设 要求惠州做棋牌网站建设哪家技术好
  • c#如何做公司网站做网站背景图怎么插
  • 国外做耳机贸易的平台网站定制网站
  • seo做的最好的十个网站加工订单网
  • 网站项目建设主要内容网站导航优化的描述
  • 网站后台修改图片网站制作多少钱公司
  • 做网站后台需要写代码吗益阳seo网站建设
  • 小程序网站做多大尺寸辽阳住房和城乡建设网站
  • 昆山app网站制作网站的管理权限有什么用
  • 购物网站建设开题报告企业宣传方案模板
  • cdr做好排班怎么做网站我的免费网是个什么网站
  • 如何做别人网站镜像地区性中介类网站建设
  • 做的网站怎么查看点击率安装wordpress主题失败
  • 网站历史权重查询免费的黄冈网站有哪些下载软件
  • 宝安三网合一网站建设河北智能网站建设平台
  • 在百度上做网站有用吗wordpress环境虚拟机安装
  • 怎么做网站图片链接中元建设网站
  • 邢台做网站优化价格网站基本维护
  • 网站集群建设价格wordpress 加文章列表
  • 官方网站案例用ps做网站主页
  • 做名片的网站推广型网站建设销售
  • 河南省建设执业资格注册中心网站网站推广公司 sit
  • 来年做那个网站致富网站工作室 需要什么手续