Android 为什么我放在剪贴板上的项目不';“快捷键剪贴板历史记录”上没有显示?
我正在使用这段代码将项目放在剪贴板上,它工作正常,应用程序可以粘贴我放在那里的内容,但SwiftKey从未在其历史记录中显示我放在剪贴板上的内容。我做错了什么Android 为什么我放在剪贴板上的项目不';“快捷键剪贴板历史记录”上没有显示?,android,android-clipboardmanager,Android,Android Clipboardmanager,我正在使用这段代码将项目放在剪贴板上,它工作正常,应用程序可以粘贴我放在那里的内容,但SwiftKey从未在其历史记录中显示我放在剪贴板上的内容。我做错了什么 ClipboardManager clipboard = (ClipboardManager) context. getSystemService(Context.CLIPBOARD_SERVICE); if (clipboard != null) { ClipDat
ClipboardManager clipboard = (ClipboardManager) context.
getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboard != null) {
ClipData clip = ClipData.newRawUri("URL", Uri.parse(url));
if (clip != null) {
clipboard.setPrimaryClip(clip);
} else {
Log.w(TAG, "Failed to copy to clipboard");
}
} else {
Log.w(TAG, "Unexpected error because clipboard is null");
}
编辑:创建一个示例项目只是为了测试它,但仍然失败:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val clipboard: ClipboardManager =
getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
if (clipboard != null) {
val clip = ClipData.newRawUri("URL", Uri.parse("http://google.com"))
if (clip != null) {
clipboard.setPrimaryClip(clip)
} else {
Log.w("MainActivity", "Failed to copy to clipboard")
}
} else {
Log.w("MainActivity", "Unexpected error because clipboard is null")
}
}
}
我可以很好地粘贴,但以下是快捷键显示的内容:
使用
ClipData.newPlainText()
方法代替ClipData.newRawUri()
方法。因此,您的代码可以如下所示:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val clipboard: ClipboardManager =
getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
if (clipboard != null) {
val clip = ClipData.newPlainText("URL", "http://google.com")
if (clip != null) {
clipboard.setPrimaryClip(clip)
} else {
Log.w("MainActivity", "Failed to copy to clipboard")
}
} else {
Log.w("MainActivity", "Unexpected error because clipboard is null")
}
}
}
我遵守了API 29,并在安卓9上用SwiftKey 7.4.6.6版进行了测试。它工作得很好。你能分享更多细节吗?谢谢你这么做,但这就是代码的全部内容。你用url试过了吗?也许你可以分享你的代码。我正在编辑这篇文章来展示我刚刚做的一个示例项目,但仍然存在这个问题。我很抱歉。我检查了我的代码,发现我尝试了
newPlainText
方法。不知道url是否不起作用,也许我需要切换到纯文本。看不出有什么害处,它只是一个剪贴板。我刚刚测试过,newPlainText()
显示得很好,所以我可以使用它。如果你想回答这个问题,我可以把它标记为正确的。