Android Studio 修改 QPython 3C 的 SL4A 函数 - 电话、网页、系统等
QPython 原版的 SL4A 函数,有的都是2009年的东西,早就淘汰了,对SL4A函数进行修复、升级、新增。
现有的 QPython 3C 支持 Python 3.11 。
以下函数需要打开电话权限:
getNetworkType() (修复)
获取网络类型:返回5G/4G/3G/2G/Other/Unknown。
getCellLocation() (升级)
返回当前基站的 : LAC/CID/SID/NID/BID 和 NR/LTE/WCDMA 的信号dbm值,返回周边基站信号个数。
getAllCellInfo() (新增)
返回网络小区信息。
getAllCellsLocation() (新增)
返回所有基站小区位置信息 : LAC/CID/SID/NID/BID/MccMnc/Arcfn 和 信号dbm (NR/LTE/WCDMA/CDMA/GSM)。
getPhoneType() (修复)
返回电话类型:
移动联通返回GSM,电信返回CDMA。
getMeid( slotIndex = None ) (新增)
获取MEID号(卡槽号=空)
针对电信/全网通(CDMA)手机。
如果MEID无效返回None。
在Android7.1或以下可以返回旧版deviceId。
getImei( slotIndex = None ) (新增)
获取IMEI号(卡槽号=空)
针对移动/联通/全网通(GSM)手机。
如果IMEI无效返回None。
在Android7.1或以下可以返回旧版deviceId。
以下函数需要 Android >= 9.0 并打开电话权限:
getTelephoneSignalStrengthDetail() (新增)
返回信号强度具体信息。
类似RSRP, RSRQ, SNR。
getTelephoneSignalStrengthLevel() (新增)
返回信号强度等级,
针对不同机型,有(0到5)或(0到4)。
以下函数需要定位权限:
startLocating(minUpdateTime=60000,minUpdateDistance=30,updateGnssStatus=False) (升级)
开始定位(最小更新时间=60000毫秒,最小更新距离=30米,更新全球导航卫星系统状态=否)
其中更新全球导航卫星系统状态需要Android>=9,否则即使为True也没用。
readLocation() (原有)
读取定位信息。
readGnssStatus() (新增)
读取全球导航卫星系统状态,需要Android>=8,否则始终返回None。
共享变量函数(新增):
sharedVariableSet(key,value)
共享变量设置(键,值)
sharedVariableGet(key)
共享变量获取(键)
如果键不存在,会报错。
sharedVariableRemove(key)
共享变量删除(键)
以上3个函数操作的共享变量(字符串类型),在QPython没被关闭的情况下,支持跨脚本共享,但是随着QPython的关闭,它们会被清空。
其他函数:
viewHtml( path, title = None, wait = True ) (修复并升级)
查看本地 网页/纯文本/音视频 页面(路径,标题=空,等待=是)
其中title为标题栏文本,title默认为None时,标题栏显示为应用程序名称,title为空字符串时,显示为全屏网页。
view( uri, type = None, extras = None, wait = True ) (升级)
查看(uri路径,类型=空,附加=空,等待=是)
viewMap( query, wait = True ) (升级)
查看地图(地点名称,等待=是)
地点名称例如:北京市。
viewContacts( wait = True ) (升级)
查看联系人(等待=是)
notify(title, message, uri=None, arg=None) (升级)
显示一个通知,当用户单击它时关闭。
标题(字符串)
消息(字符串)
Uri路径(字符串可选)
脚本参数(字符串可选)
如果Uri不为空,当用户单击通知后,将会进行以下操作:
1. Uri路径是 Web Url,类似于 http:// 或 https:// --> 打开系统浏览器
2. Uri路径 是 .py 脚本路径 --> 运行 .py 脚本 (附带脚本参数)
launch( classname = None , packagename = None, wait = True ) (升级)
启动(类名=空,包名=空,等待=是)
用对应类名(和/或包名)启动活动。
如果类名是 包名.下级0, 包名可省略,
如果类名是 包名.下级1.下级2.…, 包名 必须要写,
如果类名和包名在文字上甚至没有相关性,则包名必须要写。
如果类名被省略,则包名必须要写。
等待:至启动应用操作完成。
getLaunchablePackages(needClassName=False) (升级)
获取可启动包名、类名、应用名
如果needClassName为False,返回值:{ "包名1":"应用名1" , "包名2":"应用名2" , …… }
如果needClassName为True,返回值:{ "包名1":"启动类名1|应用名1" , "包名2":"启动类名2|应用名2" , …… }
dialogSetProgressMessage(message) (新增)
设置进度条显示的信息,需要先显示进度条
executeQPy(scriptPath="",arg=None) (升级)
执行脚本(脚本=空白,参数=空)
wifiGetConnectionInfo() (升级)
获取当前连接的WiFi信息(网络名,IP地址,信号强度,网络速率,频率,是否隐藏,BSSID,请求状态)
getLastLog(logFileName="last.log") (升级)
获取Log文件内容(log文件名="last.log")
createScriptShortCut(scriptPath,label=None,iconPath=None,scriptArg=None)
创建Python脚本快捷方式,需要创建快捷方式权限。
脚本路径 (字符串)
标签 (字符串可选) 要显示在快捷方式上的文字
图标路径 (字符串可选) 图片路径,作为快捷方式图标
脚本参数 (字符串可选)
返回None
getLocale() (新增)
获取系统语言和国家/地区
getSysInfo() (新增)
获取系统信息
getScreenInfo() (新增)
获取屏幕信息
wifiGetApState() (新增)
判断Wifi热点状态
getConnectedInfo() (新增)
获取网络连接信息
getMemoryInfo() (新增)
获取内存信息
getDhcpInfo(ipConvertToString=True) (新增)
获取当前动态IP网络连接参数
如果ipConvertToString为True,返回类似"192.168.0.1"这样的IP地址,
如果ipConvertToString为False,返回类似16820416这样的IP地址。
getInternetInterfaceAddress() (新增)
返回一个dict,里面包含:网络接口名称 和 网络地址列表。
getInstalledPackages(flag = getInstalledPackages.APPS_USER) (新增)
返回由软件包名组成的,已安装应用的列表。
标示 (整数可选) :
getInstalledPackages.APPS_ALL = 5 (所有应用)
getInstalledPackages.APPS_USER = 4 (用户应用,默认)
getInstalledPackages.APPS_SYSTEM = 3 (系统应用)
getInstalledPackages.APPS_SYSTEM_UPDATED = 2 (系统已更新应用)
getInstalledPackages.APPS_SYSTEM_NOT_UPDATED = 1 (系统未更新应用)
prefRemoveValue(key,filename=None) (新增)
移除SharedPreference的key值。
backgroundProtect(enabled=True) (新增)
QPython后台保护(启动=是)。
enabled=True:启动隐藏悬浮窗,防止QPython后台运行时被意外关闭;
enabled=False:关闭隐藏悬浮窗,允许QPython后台运行时被意外关闭;
需要Android>=8.0。
getHarmonyOsInformation() (新增)
获取鸿蒙系统信息,返回一个字典,包括isHarmonyOs和HarmonyVersion(如果isHarmonyOs是真)
isExternalStorageManager() (新增)
如果 Android <= 10,返回 None ,
如果 Android >= 11,返回 QPython 3C 是否为 外置存储管理器 (True or False) 。
sensorsGetStepCounter() (新增)
传感器获取步数。
startSensingThreshold()和startSensingTimed() (升级)
两个传感器函数新增步数选项。
elapsedRealtimeNanos() (新增)
获取系统开机纳秒数。
batteryGetCurrent() (新增)
获取电流毫安数。
getTrafficStats(flags=7) (新增)
获取流量统计
flags 标记 (整数可选) ALL(7,全部,默认) = TOTAL(总和,1) + MOBILE(移动数据,2) + QPYTHON(4)
返回一个字典,包含发送/接收字节数, 还有系统启动时间。
getTrafficStats.TOTAL = 1
getTrafficStats.MOBILE = 2
getTrafficStats.QPYTHON = 4
QPython 3C (Python 3.11) 视频演示:
https://www.bilibili.com/BV1NL411G7XX
如果需要 QPython 3C 源代码/Apk,请点击以下链接:
作者:乘着船@Bilibili
更多文章+下载链接:https://www.bilibili.com/read/readlist/rl321663