防止用户拍摄应用程序界面的照片

4

我正在尝试提高我的Android应用程序中数据的安全性,想知道是否有任何工具或方法可以解决这个问题。但我在网上找不到任何解决方案。

我已经禁用了屏幕截图,但用户仍然可以拍摄设备显示屏幕的照片。也许改变分辨率或组合一些颜色可以帮助改善这种情况,但我真的没有任何想法。


即使你找到了一种方法来做到这一点,用户拿相机拍屏幕的行为又该如何防止呢? - user3714134
我对拍照没有问题,只是想在用户尝试使用相机拍摄时给他们一个破损、无用的视图 :) - kagkar
3个回答

3
简而言之 - 当你的合法用户与你的对手相同时,你无法做到这一点。如果用户能看到它,他们也能拍照。这是典型的红后妃情况: "反保护"技术的反应速度与您的"保护"技术的演变速度相同:如果您发明非极化显示器,用户将通过偏振滤波器拍摄照片;实际上改变的唯一是副作用。

请参阅此处以获取更长版本:是否有可能防止从网站下载视频

你可以尝试通过法律手段而非技术手段来加强安全性:“我在此声明,只有当我在安全的房间里独自使用应用程序且不拍照时,才能使用该应用程序;否则,我将失去访问权限并需要支付巨额罚款。”听起来似乎无法执行,但它仍然比技术上阻止用户更容易实现和更有效,主要是因为FUD。我不是律师。;)

@kagkar:让我们回到问题的根源:你试图避免的风险是什么?这是否涉及敏感数据泄露?还是第三方将数据与用户连接起来?或者完全是其他原因? - Piskvor left the building
这一切都关乎数据安全。用户应该能够读取数据,但除了纸上写作之外,任何复制操作都应该被禁止:)。实际上,用户行为不在我的控制范围内,但我认为我至少可以让它更加困难。我需要的只是通过使用一些视觉技巧来欺骗摄像机/录像机的视野。 - kagkar
@kagkar:写在纸上可以吗?嗯...在你的情况下,这与拍照有什么不同呢? - Piskvor left the building
这是一份非常长而复杂的文件 :) 我无法阻止用户在纸上或记忆中书写,但应该有一些东西可以针对相机修改设备显示(亮度、颜色、分辨率等)。 - kagkar
1
你可以让屏幕变暗或者加上色彩,就像Twilight应用程序所做的那样(https://play.google.com/store/apps/details?id=com.urbandroid.lux)- 但我担心这对于现场用户而言会比对相机更具问题性。 - Piskvor left the building
1
谢谢您的时间,我现在应该跳过这一步 :) - kagkar

1
很抱歉,您无法限制任何用户截取屏幕截图!顺便问一下,如果您能分享更多关于用户截取应用程序屏幕截图的信息,也许我可以帮助您解决问题。祝好。

0
尝试使用FLAG_SECURE:
 public class FlagSecureTestActivity extends Activity {
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);

 getWindow().setFlags(LayoutParams.FLAG_SECURE,
                     LayoutParams.FLAG_SECURE);

 setContentView(R.layout.main);
}
}

我需要防止用户使用其他相机对屏幕进行拍照。 - kagkar
2
嗯...你无法阻止那个...那是不可能的,朋友...你怎么能想到阻止它呢? - johnrao07
我知道我做不到。我只是想让用户复制我的数据变得困难。我并不试图说服他们。我希望用户得到一张无用的图片。 - kagkar
1
你为什么要为那么敏感的数据创建一个应用程序? - Jibran Khan

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