V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GSNote
V2EX  ›  Android

安卓剪贴板的问题

  •  
  •   GSNote · 2023-03-07 03:22:18 +08:00 · 3877 次点击
    这是一个创建于 407 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我是想让 n 个条目依次进入剪贴板,让剪贴板一行一个条目。 起初以为是要用 ClipData 的 addItem 配合 cliboard.setPrimaryClip, 实践发现,剪贴板里根本没有内容(使用讯飞输入法的剪贴板查看) 然后改成了这样,h0RUy.png 如果循环不加延迟,会随机遗漏条目,所以后面加了个延迟,达到效果了。 就是疑惑那个 additem 的方式为啥不可以

    5 条回复    2023-03-07 12:21:45 +08:00
    ysy950803
        1
    ysy950803  
       2023-03-07 08:27:59 +08:00 via Android
    你看下 addItem 的源码吧,很可能不是你预期的功能。然后这个延迟多半也是因为涉及系统服务的跨进程调用所以不是同步执行的,加延迟的方式也不是特别靠谱其实,不同手机性能不一样,还是可能遗漏。最好是研究下 set 方法看看有没有什么其他参数或者回调保证成功率。
    GSNote
        2
    GSNote  
    OP
       2023-03-07 10:54:38 +08:00 via Android
    @ysy950803 感谢指点。
    daiisdai
        3
    daiisdai  
       2023-03-07 11:36:41 +08:00
    用 StringBuilder 呢? 所有 item 都 append 上去,后面加换行符 /n , 最后将 StringBuilder 的内容添加到剪切板

    此方法没有实践过
    GSNote
        4
    GSNote  
    OP
       2023-03-07 12:07:18 +08:00 via Android
    @daiisdai 这种不行,变成打包复制了。剪贴板里不是靠换行来分行,是一个复制动作产生一行,我原先以为 set 方法会自动按条操作 clipdata 里的数据。
    daiisdai
        5
    daiisdai  
       2023-03-07 12:21:45 +08:00
    @GSNote 好的,学习了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1295 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 23:27 · PVG 07:27 · LAX 16:27 · JFK 19:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.