美文网首页
AndroidQ(10)获取剪切板内容适配

AndroidQ(10)获取剪切板内容适配

作者: 会撒娇的犀犀利 | 来源:发表于2020-12-22 11:04 被阅读0次

前言

最近在做App启动自动获取粘贴板的功能时发现,10以上的高版本无法获取剪切板的内容

Android Q对剪切板做了改动

当应用没有获取到焦点的时候,无法获取剪贴板内容

思路

既然应用未获取到焦点,所以无法获取到剪切板内容是正常的,但是当App启动时,此时App已经获取到焦点,但还是无法获取剪切板内容,原因只有一个:在获取焦点的同时获取剪切板内容是有时差间隔的。所以在获取剪切板时延迟一秒左右再去获取剪切板内容,这样就能获取到了。

代码

Handler handler = new Handler()
handle.postDelayed(new Runnable(){
    @Override
    public void run() {
        //此处可放 调用获取剪切板内容的代码
        getClipboardContent()
    }
},1000)

/**
 * 系统剪贴板-获取:
 */
public static String getClipboardContent () {
    // 获取系统剪贴板
    ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
    // 返回数据
    ClipData clipData = clipboard.getPrimaryClip();
    if (clipData != null && clipData.getItemCount() > 0) {
        // 从数据集中获取(粘贴)第一条文本数据
        return clipData.getItemAt(0).getText().toString();
    }
    return null;
}

相关文章

网友评论

      本文标题:AndroidQ(10)获取剪切板内容适配

      本文链接:https://www.haomeiwen.com/subject/wwajnktx.html