GSNote
V2EX  ›  Android

安卓剪贴板的问题

  •  
  •   GSNote · Mar 7, 2023 · 12482 views
    This topic created in 1192 days ago, the information mentioned may be changed or developed.

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

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

    此方法没有实践过
    GSNote
        4
    GSNote  
    OP
       Mar 7, 2023 via Android
    @daiisdai 这种不行,变成打包复制了。剪贴板里不是靠换行来分行,是一个复制动作产生一行,我原先以为 set 方法会自动按条操作 clipdata 里的数据。
    daiisdai
        5
    daiisdai  
       Mar 7, 2023
    @GSNote 好的,学习了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4421 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 10:06 · PVG 18:06 · LAX 03:06 · JFK 06:06
    ♥ Do have faith in what you're doing.