嗨,我对Android很新,我只是转移我的iOS工作,所以我对android不太了解。
我想创建Android设备屏幕监控应用程序。可以通过WiFi同时看到其他Android设备屏幕,也可以将屏幕播放到其他设备。
我想通过简单地捕获屏幕并将其发送到主机来使用UDP来广播屏幕。 没有必要实时显示他们的屏幕上的内容就足够了。
通过计时器
调用此方法private void captureScreen() {
final View rootview1 = findViewById(R.id.root).getRootView();
rootview1.setDrawingCacheEnabled(true);
Bitmap bmp = rootview1.getDrawingCache();
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 20, bytes);//lower quality faster
byte[] byteArray = bytes.toByteArray();
packetToSend.setData(byteArray);//send image
rootview1.setDrawingCacheEnabled(false);
}
现在我可以发送我的应用视图并在主机上正确显示。
我的问题是,如果我将此方法作为服务运行,如何在打开其他应用程序(如浏览器,游戏,电影)或仪表板时找到当前视图?
请帮助
感谢。
答案 0 :(得分:1)
我的问题是,如果我将此方法作为服务运行,如何在打开其他应用程序(如浏览器,游戏,电影)或仪表板时找到当前视图?
幸运的是,由于隐私和安全原因非常明显,这是不可能的。欢迎您以这种方式分享您自己的用户界面(根据您的代码);你无法以这种方式分享其他应用的用户界面。
有多种选项可供root用户使用,但我已经忘记了最近Android UI管道更改后的工作情况。