原理:借助Android系统提供的ImageReader读取当前屏幕,然后转化为Bitmap对象,Bitmap像素宽高正好和当前屏幕一致,然后调用Bitmap中的getPixel(x, y)方法获取目标点的坐标
创建屏幕扫描器
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_MEDIA_PROJECTION = 1 ;
private MediaProjectionManager mMediaProjectionManager;
private MediaProjection mMediaProjection;
@Override
protected void onCreate ( Bundle savedInstanceState) {
super . onCreate ( savedInstanceState) ;
setContentView ( R. layout. activity_main) ;
rootCmd ( ) ;
mMediaProjectionManager = ( MediaProjectionManager) getSystemService ( Context. MEDIA_PROJECTION_SERVICE) ;
if ( mMediaProjectionManager != null) {
startActivityForResult ( mMediaProjectionManager. createScreenCaptureIntent ( ) , REQUEST_MEDIA_PROJECTION) ;
}
}
public void rootCmd ( ) {
Process process = null;
DataOutputStream os = null;
try {
process = Runtime. getRuntime ( ) . exec ( "su" ) ;
os = new DataOutputStream ( process. getOutputStream ( ) ) ;
os