Почему элементы, которые я помещаю в буфер обмена, не отображаются в истории буфера обмена SwiftKey?
Я использую этот код для помещения элементов в буфер обмена, и он отлично работает, приложения могут вставлять то, что я туда поместил, очень хорошо, но 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:
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")
}
}
}