无法在 java android 中获取剪贴板数据
Unable to get the clipboard data in java android
我正在 java 中的一个 android 项目中工作,我需要在 activity 中复制粘贴一些数据,但这里的问题是我能够设置主要剪辑但是当我尝试访问 primaryClip 时它 returns 错误。我使用以下代码设置主剪辑,
ClipboardManager clipboard = (ClipboardManager) requireContext().getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("textData","12345");
clipboard.setPrimaryClip(clip);
我正在尝试这样访问
ClipboardManager clipboard = (ClipboardManager) getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboard.hasPrimaryClip()) {
//This returning false
}
这里 hasPrimaryClip()
返回 false,但是如果我打开任何文本编辑器应用程序并尝试粘贴它们,它将粘贴我设置为主要剪辑的数据。
如何解决这个错误?
尝试在裁剪数据后 100 毫秒调用 clipboard.hasPrimaryClip(),这应该有效。
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText("label", "whatever")
clipboard.setPrimaryClip(clip)
Log.d(TAG, clipboard.primaryClip?.getItemAt(0).toString())
给出 null 但是:
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText("label", "whatever")
clipboard.setPrimaryClip(clip)
Handler().postDelayed({
Log.d(TAG, clipboard.primaryClip?.getItemAt(0).toString())
},100)
打印“随便”。
正如官方文档所说,如果应用程序不是默认的 IME,它 returns 为 false。
https://developer.android.com/reference/android/content/ClipboardManager#hasPrimaryClip()
我正在 java 中的一个 android 项目中工作,我需要在 activity 中复制粘贴一些数据,但这里的问题是我能够设置主要剪辑但是当我尝试访问 primaryClip 时它 returns 错误。我使用以下代码设置主剪辑,
ClipboardManager clipboard = (ClipboardManager) requireContext().getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("textData","12345");
clipboard.setPrimaryClip(clip);
我正在尝试这样访问
ClipboardManager clipboard = (ClipboardManager) getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboard.hasPrimaryClip()) {
//This returning false
}
这里 hasPrimaryClip()
返回 false,但是如果我打开任何文本编辑器应用程序并尝试粘贴它们,它将粘贴我设置为主要剪辑的数据。
如何解决这个错误?
尝试在裁剪数据后 100 毫秒调用 clipboard.hasPrimaryClip(),这应该有效。
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText("label", "whatever")
clipboard.setPrimaryClip(clip)
Log.d(TAG, clipboard.primaryClip?.getItemAt(0).toString())
给出 null 但是:
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText("label", "whatever")
clipboard.setPrimaryClip(clip)
Handler().postDelayed({
Log.d(TAG, clipboard.primaryClip?.getItemAt(0).toString())
},100)
打印“随便”。
正如官方文档所说,如果应用程序不是默认的 IME,它 returns 为 false。 https://developer.android.com/reference/android/content/ClipboardManager#hasPrimaryClip()