欢迎光临散文网 会员登陆 & 注册

Android Studio 修改 QPython 3C 的 SL4A 函数 - 电话、网页、系统等

2021-05-09 16:46 作者:乘着船  | 我要投稿

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


Android Studio 修改 QPython 3C 的 SL4A 函数 - 电话、网页、系统等的评论 (共 条)

分享到微博请遵守国家法律