Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[App Require] Android 端独立客户端 #123

Open
PianCat opened this issue Sep 4, 2024 · 5 comments
Open

[App Require] Android 端独立客户端 #123

PianCat opened this issue Sep 4, 2024 · 5 comments

Comments

@PianCat
Copy link
Contributor

PianCat commented Sep 4, 2024

描述你想添加的功能 | Describe the feature you'd like

Android 端独立客户端,相关的剪贴板同步实现或许可以参照KDE Connect的实现:

相关commit

相比 AutoX js 是一种比较优雅的实现方式
且能够实现较完善的功能,降低入门门槛
且能够添加一个长按文本后使用浮窗(Intent)功能进行复制并同步的功能

描述你正在使用的替代方案 | Describe alternatives you are using

AutoX js,但是在同步上存在一定的问题,正在寻找方案解决。
疑似 HarmonyOS 限定的后台留存问题

@Jeric-X
Copy link
Owner

Jeric-X commented Sep 4, 2024

看到kde connect的方法了,原理是监听log,发现log中有剪贴板获取失败的记录后就创建透明的前台窗口获取剪贴板,挺巧妙的
如果今年的iPhone没什么吸引力就换一个安卓机子,顺便就可以开发安卓端App了

@PianCat
Copy link
Contributor Author

PianCat commented Sep 4, 2024

看到kde connect的方法了,原理是监听log,发现log中有剪贴板获取失败的记录后就创建透明的前台窗口获取剪贴板,挺巧妙的 如果今年的iPhone没什么吸引力就换一个安卓机子,顺便就可以开发安卓端App了

好耶!谢谢大佬!

@PianCat
Copy link
Contributor Author

PianCat commented Sep 4, 2024

看到kde connect的方法了,原理是监听log,发现log中有剪贴板获取失败的记录后就创建透明的前台窗口获取剪贴板,挺巧妙的 如果今年的iPhone没什么吸引力就换一个安卓机子,顺便就可以开发安卓端App了

有点想自己试试看,能不能够让AutoX JS也读取LOGS,然后实现和KDE Connect差不多的效果,我改了一份AutoX JS出来用,添加了 READ_LOGS 的权限声明,现在AutoX JS可以读取得到logs了。

想问问老师有想法吗。

找到的一些资料:Auto.js 在安卓12以上实现悬浮窗穿透点击

AutoX.js 权限添加版

@Jeric-X
Copy link
Owner

Jeric-X commented Sep 4, 2024

我并没有安卓开发经验,可能起跑线比你靠后
如果AutoX.js能直接创建穿透点击的悬浮窗,可以先不读log,就让窗口一直存在看看效果呗
如果想通过读log按需创建窗口应该不是就改一个js脚本就能搞定的(除非AutoX.js提供js接口让你读log,怎么可能),得改动AutoX.js本体源码吧

@PianCat
Copy link
Contributor Author

PianCat commented Sep 5, 2024

我并没有安卓开发经验,可能起跑线比你靠后 如果AutoX.js能直接创建穿透点击的悬浮窗,可以先不读log,就让窗口一直存在看看效果呗 如果想通过读log按需创建窗口应该不是就改一个js脚本就能搞定的(除非AutoX.js提供js接口让你读log,怎么可能),得改动AutoX.js本体源码吧

试了一下,持续的前台悬浮窗不会被认为是前台窗口,因此不会传入剪贴板内容,而通过悬浮窗启动的AutoJS UI窗口是可以传入剪贴板的,接下来我去尝试一下在循环体中创建一个前台的透明的1px的UI窗口,看看能不能在不影响使用的情况下获取到剪贴板内容

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants