如何防止一个应用程序剪贴板文本被另一个应用程序在后台读取 Android

How to prevent one application clipboard text which reads by another app in background Android

我正在 Edittext 中创建具有复制和粘贴功能的应用程序。其中有一些安全文本,需要防止其他应用程序从剪贴板读取。 是否可以防止我们的文本被其他可能 运行 在后台和监听剪贴板的应用程序从剪贴板读取。

不,对不起。剪贴板是世界可读的。

您可以使用剪贴板管理器并添加一个侦听器,以便在每次有人更改剪贴板时将其变为空白。操作方法如下:

            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);

请务必在 onPauseonDestroy

上删除剪贴板侦听器
if (clipboardManager != null && clipChangeListener != null) {
            clipboardManager.removePrimaryClipChangedListener(clipChangeListener);
        }