0

我正在使用此代码将项目放在剪贴板上,它工作正常,应用程序可以很好地粘贴我放在那里的内容,但 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");
        }

编辑:制作一个示例项目只是为了测试它,但仍然失败:

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

我可以很好地粘贴,但这是 SwiftKey 显示的内容:

在此处输入图像描述

4

1 回答 1

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")
        }
    }
}
于 2020-01-24T22:05:53.667 回答