如何在安卓系统中更改最近应用程序列表中显示的截图?

7
我正在创建一个应用程序,其中有一个锁屏,在应用程序移至后台时会弹出。
我希望在按下“最近使用的应用”按钮时,我的应用程序(或该活动)的屏幕截图被避免。一种方法是使用“安全标志”。但这也会避免在我不想要的应用程序中进行截屏操作。
因此,我考虑在活动(移到后台)的onStop()或onPause()中启动锁屏活动,这将最终导致锁屏的快照。但这似乎行不通。
有没有其他方法可以实现相同的功能?
MainActivity扩展了LockActivity。
LockActivity具有锁定代码。
提前感谢。

这种方法从用户的角度来看没有太多意义。要么你的活动显示敏感数据,所以你使用安全标志,要么不是。在这种情况下,用户可能更喜欢看到最后一次活动状态,这通常应该是图片所显示的内容。 - Marcin Orlowski
我同意。但我不想展示数据。因为数据太敏感了。 - android developer
如果您得到了任何答案,请发布它。 - Rahul Matte
1个回答

0

与其启动一个新的活动,不如隐藏当前活动的内容并显示另一个可能在活动处于活动状态时被隐藏的内容。

例如,在您的XML布局文件中添加一个带有visibility=View.GONE的“ImageView”。当活动调用onPause()方法时,您可以使visibility=View.VISIBILE。确保imageView位于布局中其他元素的顶部。

我还没有测试过,但这可能有效。


你的方法确实有道理。但是如果我有n个活动呢? - android developer
你可以通过编写程序来实现同样的功能。如果你想重用代码,你可以创建自己的SecureActivity类并扩展常规的Activity,并在其中包含隐藏内容的代码。然后所有的活动都将扩展SecureActivity类,你的代码将在一个地方维护。但是首先要确定这种方法是否适用。然后你才能考虑代码可重用性和维护性。 - swbandit
谢谢 @Mike T. 我一定会尝试这种方法并回来。 - android developer
1
我尝试了您动态创建现有视图的方法。我在onPause()中调用此视图。不幸的是,这对于系统来捕获屏幕截图来说太晚了。 - android developer
我尝试了这种方法,我认为它很有道理,应该可以工作。但是它没有...这意味着屏幕截图是在暂停之前被捕获的。 - Avijeet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接