public class MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
Button button = findViewById(R.id.button);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
button.performClick();
}
}, 2000);
button.setOnClickListener(view -> {
pasteText();
});
}
private void pasteText() {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
String pasteData = "";
// If it does contain data, decide if you can handle the data.
if (!(clipboard.hasPrimaryClip())) {
} else if (!(clipboard.getPrimaryClipDescription().hasMimeType(MIMETYPE_TEXT_PLAIN))) {
// since the clipboard has data but it is not plain text
} else {
//since the clipboard contains plain text.
ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0);
// Gets the clipboard as text.
pasteData = item.getText().toString();
textView.setText(pasteData);
Log.i("PastedText", "text: " + pasteData);
}
}
1条答案
按热度按时间9rnv2umw1#
我找到了在应用程序启动时自动粘贴复制文本的解决方案。
我添加了一个按钮,当按钮被点击,然后我从剪贴板粘贴文本。
我们不能直接在onCreate()中使用粘贴功能,所以我自动化按钮点击并将按钮可见性设置为gone,因为我不想向用户显示按钮。
所以我添加了一个处理程序,它在2秒(2000毫秒)后触发,在处理程序中我添加了button.perforClick()。
下面是解决方案代码。