两步实现安卓手机秒变网络摄像头

2023-05-16

今天大概是兴趣加技术篇,程序员不写点有趣的代码,怕是很难在女票和家人面前秀出科技感。
GITHUB:
https://github.com/AndroidMsky/RootPlay

这里写图片描述

如GIF所示,自动接起QQ电话。

QQ视频来电自动接起来,微信视频电自动接起来。

首先你需要两个硬件设备
1.一步Root了的,并且安装手机QQ的安卓手机。
2.如果像文档一点你可能需要一个手机支架。

两步逻辑很简单:
1.通过BroadcastReceiver获取亮屏幕的广播。
2.通过shell input 命令去滑动接起视频电话。

1.写一个BroadcastReceiver监控的广播是Intent.ACTION_SCREEN_ON也就是屏幕被点亮后并执行我们设定好的shell命令:

BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(final Context context, final Intent intent) {
                Log.d(TAG, "onReceive");
                String action = intent.getAction();

                if (Intent.ACTION_SCREEN_ON.equals(action)) {
                    Log.d(TAG, "screen on");
                    try {
                        if (KAI)
                            Tools.doCmds("input swipe 170 1200 600 1200");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }


                } 
            }
        };

        registerReceiver(mBatInfoReceiver, filter);
    }

2.就是让手机去执行shell脚本直接调工具类就好啦。
Tools.doCmds(“input swipe 170 1200 600 1200”);

public static void doCmds(String cmds) throws Exception {
        Process process = Runtime.getRuntime().exec("su");
        DataOutputStream os = new DataOutputStream(process.getOutputStream());
        os.writeBytes(cmds + "\n");
        os.writeBytes("exit\n");
        os.flush();
        os.close();

        process.waitFor();
    }

解释一下:
input swipe 170 1200 600 1200意思就是从(170,1200)滑动到(600,1200),大概就是来电话那个滑动按钮,手机分辨率不通大家可以根据不通的分辨率去获取一下这个坐标值。如果你想更友好的话也可以去让用户去手动设置这两个坐标值,因为shell input命令是个字符串,根据用户的输入去拼接一下就好了。
分享一些常用的input命令:

//休眠3秒
adb shell sleep 3
//按下home键还有很多物理按键都是这么调用
adb shell input keyevent 3
//从550 1000滑动到550 1100
adb shell input swipe 550 1000 550 1100
//点击事件
adb shell input tap 118 1800
//输入字符串 这个貌似不支持中文,一般会唤起手机输入法肯定会改变
//其它节目元素的位置,所以使用时候已定要小心哦。
adb shell input text zaiganmane

这是我写的一小段QQ聊天命令。没时间陪GF聊天的可以好好发掘发掘。

adb shell input text zainma
adb shell input tap 118 1800
adb shell input tap 967 1600
adb shell sleep 30
adb shell input text haode
adb shell input tap 118 1800
adb shell input tap 967 1600
adb shell sleep 10
adb shell input text wufanchilama
adb shell input tap 118 1800
adb shell input tap 967 1600
adb shell sleep 10
adb shell input text nabucuoo
adb shell input tap 118 1800
adb shell input tap 967 1600
adb shell sleep 10
adb shell input text heihei
adb shell input tap 118 1800
adb shell input tap 967 1600

不要忘了加个是否自动接听的开关一个布尔值控制一下就好了:

    public void on1(View v) {


        KAI = true;
        mTextView.setText("is on");


    }

    public void on2(View v) {

        KAI = false;
        mTextView.setText("is off");

    }

然后是一定让QQ和我们都应用都在后台白名单里,避免被杀死。笔者用自己小米MAX和MX2,红米note3。亲测24全体小时有效
这里写图片描述

由于没有判断是谁来视频电话建议用QQ小号,只有自己为好友,免得谁来电都会接起来。
另外使用Accessibility可能可以优化该一些问题,这里不做详解。
不过笔者认为,打造一个网络摄像头,秀一下科技。这篇的技术就够啦。
看看家中的阿猫阿狗,检查检查你加班的时候女票在干嘛。

家中一爱犬小葡萄,上个月走啦,T T

笔者和家人心里甚是难过,也借此文悼念一下我的小葡萄一路走好。

欢迎关注作者。欢迎评论讨论。欢迎拍砖。

如果觉得这篇文章对你有帮助 欢迎打赏,

欢迎star,Fork我的github。
https://github.com/AndroidMsky
喜欢作者的也可以Follow。也算对作者的一种支持。

本文Github代码链接
https://github.com/AndroidMsky/RootPlay

这里写图片描述

博主原创未经允许不许转载。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

两步实现安卓手机秒变网络摄像头 的相关文章

  • 如何在Eclipse中使用Ruby开发工具(RDT)插件进行Ruby开发

    一 为什么使用Ruby xff1f 现在 xff0c 为什么众多的Java开发者都关注Ruby xff1f Ruby xff0c 是10年以前在日本创建的一种通用目的脚本语言 xff0c 这是一种纯面向对象的语言 不同于 Java技术 xf
  • Open eyes in your life

    读到几个故事 xff0c 希望和大家分享 一 成功无捷径 Be proactive 一个青年职员平时工作懒懒散散 xff0c 在转正前一个月他问老板 xff1a 如果我兢兢业业工作一个月 xff0c 我能转正吗 xff1f 老板答道 xff
  • Ruby菜鸟必读http://blog.csdn.net/leasun/archive/2004/06/16/9836.aspx

    作者 xff1a William Djaja Tjokroaminata 目录 资源 1 利用警告信息 2 交互式命令解释器 xff08 Interactive shell xff09 3 联机文档 4 Class method 5 从字符
  • 毕业生收入最高的前30所大学排行榜

    毕业生收入最高的前30所大学排行榜 1 北大 123023 2 清华 118712 3 北邮 98712 4 中科大 87623 5 西电 82312 6 南京大学 78620 7 北理工 76228 8 外交学院 75667 9 国际关系
  • 世界500强面试题(情商部分)

    情商 xff08 1 xff09 1 什么书中毛病最多 xff1f 2 为什么好马不吃回头草 xff1f 3 什么东西说 父亲 是不会相碰 xff0c 叫 爸爸 时却会碰到两次 xff1f 4 农夫养10头牛 xff0c 只有19只角 xf
  • 苏浙差距!江苏经济何以难敌浙江http://bbs.icxo.com/dispbbs.asp?boardID=1894&ID=100323&page=1

    进入21世纪 xff0c 江苏经济虽然也以高于全国平均速度在增长 xff0c 但以民间资本为主的浙江经济则以高于江苏经济增长速度在发展 更为引人注目的是 xff0c 2004年下半年起 xff0c 依靠外力和政府强势推动的江苏出现了边际生产
  • 公司注册流程

    项目 xff1a 首先你要明白经商成功与否的关键在于是否有一个好的项目 xff0c 而不在于没有本钱 xff0c 怎么找到一个好项目 这个因人而异 xff0c 因地而异 xff0c 不能作具体讨论 基本上要根据你自身的综合的特点来选择行业和
  • 安卓高级xml布局(一)高级输入框EditText设计

    安卓高级xml布局 xff08 一 xff09 高级输入框EditText设计 转载请注明来源 代码连接 http download csdn net detail androidmsky 9274037 欢迎加安卓开发交流群 xff1a
  • SIP协议详解

    SIP协议基本介绍 背景介绍 Internet的许多应用都需要建立和管理一个会话 xff0c 会话在这里的含义是在参与者之间的数据的交换 由于考虑到参与者的实际情况 xff0c 这些应用的实现往往是很复杂的 xff1a 参与者可能是在代理间
  • STL容器的适用情况(转)

    原文 xff1a http hsw625728 blog 163 com blog static 3957072820091116114655254 vector 典型的序列容器 xff0c C 43 43 标准严格要求次容器的实现内存必须
  • 嵌入式STM32入门之STM32中断——点灯实验、串口通信

    STM32中断实验 一 前言二 实验要求三 中断介绍四 CuBe实现中断点灯 xff08 1 xff09 新建工程 xff08 2 xff09 设置管脚 xff08 3 xff09 设置NVIC xff08 4 xff09 配置中断优先级
  • 制作个人网站 之 人生进度条

    来源 xff1a 仿照 uTools里的人生进度条插件用页面的形式写出 目的 xff1a 做个人网站的目的就是把看到的变成自己实现的案例 这些值由后台数据库获取 这里写死了 你的名字 你打算活到几岁 你的生日 时钟为罗盘时钟 在jq插件网找
  • 从零入门激光SLAM(六)——ROS常用工具箱

    大家好呀 xff0c 我是一个SLAM方向的在读博士 xff0c 深知SLAM学习过程一路走来的坎坷 xff0c 也十分感谢各位大佬的优质文章和源码 随着知识的越来越多 xff0c 越来越细 xff0c 我准备整理一个自己的激光SLAM学习
  • STM32串口收发处理

    STM32串口收发 STM32的串口接收和发送方式都有三种情况 xff0c 即轮询 中断和DMA xff0c 俩俩组合便有9种可能的组合 下面挑出其中三种收发方式进行研究 xff0c 以及优缺点比较 一 中断接收 轮询发送 xff0c 无缓
  • STM32学习笔记一(LED,跑马灯,呼吸灯)

    本人是初学者 xff0c 水平有限 xff0c 写个简单的学习笔记方便大家参考 xff0c 同时也方便自己查缺补漏 STM32学习一 1 点亮板上的LED小灯 首先 xff0c 我们在点灯之前还要看看LED的硬件连接 看到硬件电路后 xff
  • 打造企业级网络请求框架集合retrofit+gson+mvp(一、二)

    本文是企业级网络框架第二篇主要讲MVP模式和Gson在Retrofit网络请求框架下的使用方式 xff08 已更新为一篇 xff09 对MVP不了解的请看 梦之鬼索MVP模式在Android中的设计和实现 http blog csdn ne
  • Python解析GPGGA报文_统计数据完整率

    相信很多人在拿到一款新的GNSS接收机的时候 xff0c 都在想如何评估这个设备的性能 评估GNSS设备性能的方法很多 xff0c 如统计GGA的固定率 数据完整率 连续运行时间的稳定性等等 下面我们就从数据的完整率来入手分析GNSS接收机
  • 头文件中只能声明变量不能定义变量 而声明变量必须带extern,为什么头文件中变量的声明都没有加

    xfeff xfeff 1 头文件中不可以放变量的定义 xff01 一般头文件中只是放变量的声明 xff0c 因为头文件要被其他文件包含 include xff0c 如果把定义放在头文件的话 xff0c 就不能避免多次定义变量 C 43 4
  • 三轴磁力计解算姿态(四元数)

    原理 根据地磁场向量在水平面上的投影来计算载体的偏航角 xff0c 类似于加速度计解算姿态 xff0c 不同在于磁场易受干扰 xff0c 且只能得到偏航角 方法 假设导航坐标系为东北天 xff0c 载体坐标系为右前上 初始载体坐标系和导航坐

随机推荐

  • VRPN的使用

    VRPN是作为一个设备服务的角色 根据自己的设备来配置VRPN xff0c 随后就能够以标准方式 xff0c 非常容易的连接到该服务来获取自己设备的数据 VRPN是跨平台的 xff0c 可以再许多OS上运行 xff0c 包括Windows
  • Keil调试局部变量显示"not in scope"的问题解决

    今天在调试程序的时候 xff0c 发现函数返回值赋值给变量时 xff0c 变量值总是显示 34 not in scope 34 xff0c 无法看到变量被赋的值 出现这种情况的原因是这个局部变量没被分配到内存 xff0c 或者变量被编译器优
  • STM32串口中断的方式发送

    我将其改为真正的中断发送 步骤一 xff1a 初始化GPIO GPIO InitTypeDef GPIO InitStructure GPIO InitStructure GPIO Pin 61 GPIO Pin 10 LED1 PC10
  • 可综合的异步fifo设计(一)

    异步FIFO设计 一 基本概念二 设计思路2 1 设计前准备工作2 1 1 系统框图2 1 2 格雷码基础2 1 3 异步fifo工作流程举例2 1 4 异步fifo空满标志产生的算法设计 2 2 RTL建模2 2 1 DPRAM建模2 2
  • Unity学习(六):Unity中的实例化炮弹并设置速度

    1 static function Instantiate original Object position Vector3 rotation Quaternion Object 可用于prefab的拷贝 Instantiates 10 c
  • Unity学习(十一): Unity中的NetWork使用

    先说一下一些基本概念吧 xff01 复习复习 NAT 穿透技术 NAT 即Network Address Translation xff0c 可译为网络地址转换或网络地址翻译 网络地址转换 NAT Network Address Trans
  • ubuntu提示opengl版本过低-Gallium0.4 on llvmpipe(llvm 3.8 128bits)

    在ubuntu14 04下写GLSL xff0c 需要GLSL 4 0 以上的支持 xff0c 但是编译运行的时候 xff0c 提示我opengl和glsl版本过低 xff0c 只支持1 3 我xx xff0c 我用的卡是Geforce G
  • C#中的继承规则

    1 继承可传递 C从B派生 B从A派生 xff0c 则C不仅继承了B中的成员 xff0c 同时也获得了A中的成员 Object类为所有类的基类 2 派生类是对基类的扩展 xff0c 可以添加新成员 xff0c 但不能除去已经继承的成员的定义
  • 安卓自定义View文章数据滚动显示数值

    本文已经在微信公众号 Android群英传 发表 未经允许不得转载 转载请注明作者AndroidMsky及原文链接 http blog csdn net androidmsky article details 53009886 本文Gith
  • 场景管理方法之BVH介绍

    总结一下最近学习BVH的知识 BVH全称 xff1a Bounding volume hierarchy 这是一种用来管理3D场景中物体的方法 我主要是在光线追踪算法中用这个方法来做加速 xff0c 因为光线追踪算法的计算要求非常高 xff
  • C++ :error LINK2005:函数XXX已经在main.obj中定义--解决方法

    我的情况是这样的 xff1a 我在头文件中定义了一个函数 xff0c 然后这个函数被其他函数引用 但是编译的时候死活通不过 xff0c 一直报错 xff1a error LINK2005 xff0c 费了好大力气 才解决 include 3
  • unity解决快速运动物体碰撞检测穿透问题

    在Unity中 xff0c 快速移动的物体在与其他物体进行碰撞检测时 xff0c 可能会穿透 比如子弹和墙壁的碰撞检测 如何解决这个问题呢 xff1f 网上看了下 xff0c 有说Rigidbody修改continus的 xff0c 但是我
  • leetcode33题解_Search in Rotated Sorted Array

    题意 xff1a 要在一个排好序的但是旋转过的序列中找给定的数字 xff08 通常的题目是 xff0c 比如 xff1a 1 xff0c 2 xff0c 3 xff0c 4 xff0c 5 xff0c 6 xff0c 7 找这组序列中是否有
  • 回溯算法的理解与使用

    最近在做题的过程中发现很多我不会的题目的解决方法都使用了回溯算法的思想 xff0c 说明我对这个算法目前掌握的还不够牢固 xff0c 因此今天花时间来好好了解这个算法 回溯算法是一种算法思想 xff0c 而递归则是具体的代码结构 就我的学习
  • Kmeans基本思想以及和SVM的区别

    由于最近要用到该算法 xff0c 但是发现算法的思想基本忘掉了 xff0c 只知道是聚类算法 xff0c 因此又回头去学习了一番 xff0c 记录下学习的感受 xff0c 方便以后复习 Kmeans算法的基本思想 xff1a 看如下图 xf
  • HTTPConnection与JSON应用实例

    JSON xff1a 一种轻量级的数据交换格式 JSONObject xff1a 一个json对象 包含一对儿 Key Value 数值 xff0c 在Key和Value之间是以逗号 分隔 JSONStringer xff1a json文本
  • VS(Visual Studio)与VC(Visual C++)对应关系

    opencv 2 4 10 gt vc10 vc11 vc12 opencv 2 4 13 gt vc11 vc12 opencv 3 4 0 gt vc14 vc15 opencv 3 4 1 gt vc14 vc15 Visual St
  • 如何在win10下用Anaconda安装gym(强化学习)

    默认已经安装好Anaconda和pycharm 配置libssl 1 1 x64 ddl libcrypto 1 1 x64 dll 把路径 Anaconda3 Library bin 下面的文件复制到路径 Anaconda3 DLLs 下
  • win10系统下TwinCAT3与VS2019之间的ADS通信

    64 WIN10 TwinCAT3 VS2019 ADS 转博后第一次出差 xff0c 来到了UnitedImaging xff0c 这次的任务是负责在ros系统和TwinCAT3之间的 ADS 通信 作为本次第一篇博客 xff0c 先跑通
  • 两步实现安卓手机秒变网络摄像头

    今天大概是兴趣加技术篇 xff0c 程序员不写点有趣的代码 xff0c 怕是很难在女票和家人面前秀出科技感 GITHUB xff1a https github com AndroidMsky RootPlay 如GIF所示 xff0c 自动