您当前的位置: 首页 >  adb

蓝不蓝编程

暂无认证

  • 0浏览

    0关注

    706博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

adb共享mac电脑和安卓手机剪贴板(安卓Q开始被禁用)

蓝不蓝编程 发布时间:2019-11-18 15:32:27 ,浏览量:0

实现方案
  1. 安卓监听特定广播,启动服务来读写安卓剪贴板
  2. 电脑端通过adb命令发送广播调用安卓客户端对应服务
安卓主要代码
class ClipperReceiver : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        val cb = context
            .getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
        if (isActionSet(intent.action)) {
            val text = intent.getStringExtra(EXTRA_TEXT)
            if (text != null) {
                cb.setPrimaryClip(ClipData.newPlainText("", text))
                resultCode = Activity.RESULT_OK
                resultData = "Copied to phone."
            } else {
                resultCode = Activity.RESULT_CANCELED
                resultData = "No text is provided. Use -e text \"text to be pasted\""
            }
        } else if (isActionGet(intent.action)) {
            val clip: CharSequence = cb.primaryClip.toString()
            resultCode = Activity.RESULT_OK
            resultData = clip.toString()
        }
    }

    private fun isActionGet(action: String?): Boolean {
        return ACTION_GET == action || ACTION_GET_SHORT == action
    }

    private fun isActionSet(action: String?): Boolean {
        return ACTION_SET == action || ACTION_SET_SHORT == action
    }
}
使用方法 1. 安装共享剪贴板app

https://gitee.com/cxyzy1/adbShareClipboard/blob/master/apks/app-debug.apk

2. 在手机上启动app 3. 将手机通过usb线连接到Mac 4. 修改手机剪贴板内容:

电脑端执行:

adb shell am broadcast -a clipper.set -e text "电脑上的内容"

然后手机上就可以直接粘贴了.

5. 获取手机剪贴板内容:

电脑端执行:

adb shell am broadcast -a clipper.get|grep data|cut -d"=" -f3|sed 's/\"//g'|pbcopy

然后直接粘贴就可以了

完整源代码

https://gitee.com/cxyzy1/adbShareClipboard

关注
打赏
1639405877
查看更多评论
立即登录/注册

微信扫码登录

0.0455s