Pra*_*311 5 android screenshot kotlin android-security android-displaymanager
为了增强我的Android应用程序的安全性,我需要检测屏幕镜像。我已经实现了下面的源代码:
var display : DisplayManager = getSystemService(DISPLAY_SERVICE) as DisplayManager
var presentationdisplay= display.getDisplays(DISPLAY_CATEGORY_PRESENTATION).size
Toast.makeText(this, "disp size "+presentationdisplay, Toast.LENGTH_SHORT).show()
if(presentationdisplay>0) {
Toast.makeText(this, "your Mobile screen is shared by other app", Toast.LENGTH_SHORT).show()
}
Run Code Online (Sandbox Code Playgroud)
该代码能够检测 Screen Casting 以及 GoogleMeet、TeamViewer 的屏幕共享。但它没有检测到 MicrosoftTeams 和 Zoom 屏幕共享。我发现 MicrosoftTeams 和 Zoom 正在使用FLAG_PRIVATE,而FLAG_PRESENTATIONGoogleMeet、TeamViewer 仅使用FLAG_PRESENTATION. 我假设他们将其虚拟显示器保护为私有使用FLAG_PRIVATE。有什么方法可以检测屏幕镜像吗FLAG_PRIVATE?
| 归档时间: |
|
| 查看次数: |
2549 次 |
| 最近记录: |