ITPub博客

首页 > 应用开发 > IT综合 > Android10怎样实现电商直播源码的屏幕截图监听

Android10怎样实现电商直播源码的屏幕截图监听

IT综合 作者:云豹科技阿星 时间:2021-10-19 16:55:21 0 删除 编辑

电商直播源码运行过程中,用户会经常对系统界面进行截图,那么安卓系统是怎样监听屏幕截图的呢?使用了FileObserver,FileObserver是Android里的一个抽象类,继承自Object,主要用来提供文件或者文件夹的监控。

https://developer.android.google.cn/reference/android/os/FileObserver.html

详细介绍请参考上述链接

在电商直播源码监听屏幕截图中,主要使用到其中一个常量:CREATE 用来监听截图图片的创建。

现在已知截图文件夹名称为“

那么我们就要创建一个监听地址 /storage/emulated/0/DCIM/Screenshots

String path = Environment.getExternalStorageDirectory() 
+ File.separator + Environment.DIRECTORY_DCIM 
+ File.separator + "Screenshots" + File.separator;

电商直播源码的截图文件夹地址知道后,创建一个FileObserver

/** * @author yh */
public class ScreenshotsListener extends FileObserver {    
  private String filePath;    
public ScreenshotsListener(@NonNull File file) {        
    super(file);        
    this.filePath = file.getPath();        
    Log.i("ScreenshotsListener", file.getPath());    
}    
@SuppressLint("ShowToast")    
@Override    
public void onEvent(int event, @Nullable String path) {        
   Log.i("ScreenshotsListener", "event");        
      switch (event) {            
         case FileObserver.ALL_EVENTS:                
          Log.d("all", "path:" + path);                
          break;            
         case FileObserver.CREATE:               
          Log.d("Create", "path:" + filePath +"/"+ path);                
        //使用EventBus将path传到使用的地方          
         EventBus.getDefault().post(MessageWrap.getInstance( filePath +"/"+ path));               
          break;            
         default:                
           Log.d("default", "path:" + path);                
          break;        
}    
}}

在需要使用的地方调用:

ScreenshotsListener screenshotsListener = new ScreenshotsListener(new File(path));
screenshotsListener.startWatching();

记得在onDestroy()里面

//关闭监听
screenshotsListener.stopWatching();

注:targetSdkVersion 29 在Android10的小米和pixel上测试是可以实现的,

具体就是path地址,pixel手机里的path要把DCIM修改成为picture,电商直播源码需要进行不同机型不同适配。可能主流是监听媒体库,有点野路子的感觉。

声明:本文由云豹科技转发自开飞车の小豪博客,如有侵权请联系作者删除


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69982461/viewspace-2838170/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-08-24

  • 博文量
    229
  • 访问量
    78030