我正在 Edittext 中创建具有复制和粘贴功能的应用程序。其中有一些安全文本,需要防止其他应用程序从剪贴板读取。是否有可能阻止我们的文本被其他可能在后台运行和监听剪贴板的应用程序从剪贴板中读取。
问问题
289 次
2 回答
0
不,对不起。剪贴板是世界可读的。
于 2017-09-08T13:53:23.873 回答
0
您可以使用剪贴板管理器并添加一个侦听器以在每次有人更改剪贴板时将其变为空白。这是你如何做到的:
private ClipboardManager clipboardManager;
private ClipboardManager.OnPrimaryClipChangedListener clipChangeListener;
clipboardManager = (ClipboardManager)ActivityName.this.getSystemService(Context.CLIPBOARD_SERVICE);
clipChangeListener = new ClipboardManager.OnPrimaryClipChangedListener() {
@Override
public void onPrimaryClipChanged() {
clipboardManager.setPrimaryClip(ClipData.newPlainText("", ""));
}
};
clipboardManager.addPrimaryClipChangedListener(clipChangeListener);
请务必删除剪贴板侦听器onPause
或onDestroy
if (clipboardManager != null && clipChangeListener != null) {
clipboardManager.removePrimaryClipChangedListener(clipChangeListener);
}
于 2017-09-08T14:50:27.420 回答