如何防止由背景中的另一个应用程序读取的一个应用程序剪贴板文本Android
问题描述:
我正在创建具有复制&粘贴功能的应用程序。其中有一些安全的文本,需要阻止其他应用程序从剪贴板中读取。 是否有可能阻止我们的文本通过其他可能在后台运行并侦听剪贴板的应用程序从剪贴板中读取。如何防止由背景中的另一个应用程序读取的一个应用程序剪贴板文本Android
答
不,对不起。剪贴板是世界可读的。
答
您可以使用剪贴板管理器并添加一个侦听器,以便每当有人改变剪贴板时将剪贴板留空。这里是你如何做到这一点:
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);
一定要去除剪贴板监听或onDestroy
if (clipboardManager != null && clipChangeListener != null) {
clipboardManager.removePrimaryClipChangedListener(clipChangeListener);
}