API Level 29 未満はこう書けた
val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager clipboard.primaryClip = ClipData.newPlainText("ラベル", "クリップしたいメッセージ")
API Level 29 からはプロパティアクセスできない。 val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager clipboard.setPrimaryClip(ClipData.newPlainText("ラベル", "クリップしたいメッセージ"))
ClipboardManager で定義されている getPrimaryClip() は @Nullable な ClipData を返すが、setPrimaryClip() に渡す ClipData は @NonNull が要求されるようになったからです。 public @Nullable ClipData getPrimaryClip() { ... } public void setPrimaryClip(@NonNull ClipData clip) { ... }