我正在 java 中的一個 android 專案中作業,我需要在活動中復制粘貼一些資料,但這里的問題是我能夠設定主剪輯,但是當我嘗試訪問 primaryClip 時,它回傳 false。我使用以下代碼設定主要剪輯,
ClipboardManager clipboard = (ClipboardManager) requireContext().getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("textData","12345");
clipboard.setPrimaryClip(clip);
我試影像這樣訪問
ClipboardManager clipboard = (ClipboardManager) getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboard.hasPrimaryClip()) {
//This returning false
}
這里hasPrimaryClip()回傳false,但是如果我打開任何文本編輯器應用程式并嘗試粘貼它們,它將粘貼我設定為主要剪輯的資料。
如何解決此錯誤?
uj5u.com熱心網友回復:
正如官方檔案所說,如果應用程式不是默認的 IME,它會回傳 false。 https://developer.android.com/reference/android/content/ClipboardManager#hasPrimaryClip()
uj5u.com熱心網友回復:
嘗試在剪切資料后 100 毫秒呼叫 clipboard.hasPrimaryClip() ,這應該可以作業。
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText("label", "whatever")
clipboard.setPrimaryClip(clip)
Log.d(TAG, clipboard.primaryClip?.getItemAt(0).toString())
給出null但是:
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText("label", "whatever")
clipboard.setPrimaryClip(clip)
Handler().postDelayed({
Log.d(TAG, clipboard.primaryClip?.getItemAt(0).toString())
},100)
列印“隨便”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/338292.html
