【发布时间】:2015-11-29 15:10:28
【问题描述】:
我想构建一个必须在服务中使用 MediaProjectionManager 的应用程序。但我无法解决它,因为“startActivityForResult”不能在服务类中使用。
【问题讨论】:
-
您需要有一个活动,用户可以指示他们希望您开始录制屏幕截图或截屏视频,然后您可以使用
startActivityForResult()。我不知道有任何方法可以请求不涉及startActivityForResult()的MediaProjection。 -
我必须为一些特定的应用程序截屏。所以我必须从服务中检测应用程序,并且必须使用 MediaProjection 截取屏幕截图。如果可以,请举个例子。我是初学者。谢谢
-
你想要的实际上是不可能的。用户必须在开始记录时参与。此外,谷歌一直在逐步锁定检测前台应用程序的能力。在这一点上(Android 6.0),可以肯定地说,如果一个应用程序可以确定其他应用程序在前台,则存在需要修复的安全漏洞。
-
实际上用户只需要在Android提示时同意授予安全令牌。如果用户信任该应用,“不要再问我”将赋予该应用随意获取令牌的能力。我有一个类似的应用程序,当目标应用程序不在前台时,它会释放令牌,然后在目标应用程序重新获得焦点时重新请求它。我这样做是因为如果我是该应用的用户,我想知道它只会在我需要时主动监控屏幕。
标签: android service broadcastreceiver android-mediaprojection