获取手机应用当前开启的是前摄还是后摄

做个记录,获取手机应用(3rd apk或本机应用)开启的摄像头是前摄还是后摄.

因为脚本中有这个需求,但是问了好几个同学,都没有得到很好的方法,后来自己在stack overflow上找到了答案

看来stack overflow大法很不错,很多问题都可以在这里找到答案. 

from time import sleep
import subprocess


def get_camera() -> str:
    '''返回值说明
    front:为前摄
    after:为后摄
    None: 未开启摄像头 
    
    参考:
    https://stackoverflow.com/questions/33285634/is-there-a-way-to-get-available-camera-resolutions-from-adb-shell
    adb shell dumpsys media.camera > 1.txt
    然后从txt里查找Camera ID, 0为后摄,1为前摄
    '''
    cmd = 'adb shell dumpsys media.camera'
    sleep(2)
    proc = subprocess.run(cmd, shell=True, encoding='utf-8', capture_output=True)
    if proc.returncode == 0:
        f = proc.stdout.split('\n')[1:30]
        
    for line_str in f:
        if 'Camera ID:' in line_str:
            camera_id = line_str.split(',')[0].split(':')[1].strip()
            if camera_id == '0':
                return 'after'
            if camera_id == '1':
                return 'front'
                
    return 'None'
            

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值