我放在剪贴板上的项目为什么不会出现在SwiftKey剪贴板历史记录中?

时间:2019-12-05 04:06:52

标签: android android-clipboardmanager

我正在使用此代码将项目放置在剪贴板上,并且工作正常,应用程序可以将我放置在剪贴板上的内容粘贴得很好,但是SwiftKey从未在其历史上显示我放置在剪贴板上的内容。我在做什么错了?

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

1 个答案:

答案 0 :(得分:1)

使用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")
        }
    }
}