一、前言 使用版本:QPython 3c 下載地址:百度搜索QPython 3C開源版即可下載 或關註【產品經理不是經理】gzh,回覆【qpython 3c】即可獲取下載鏈接。 二、代碼實例 註意 # 執行以下方法前,請加上以下代碼 from androidhelper import Android ...
一、前言
使用版本:QPython 3c
下載地址:百度搜索QPython 3C開源版即可下載
或關註【產品經理不是經理】gzh,回覆【qpython 3c】即可獲取下載鏈接。
二、代碼實例
註意
# 執行以下方法前,請加上以下代碼
from androidhelper import Android
droid=Android()
打開qq群
def jumpQQTeam(qqTeam):
action="android.intent.action.VIEW"
uri=f"mqqapi://card/show_pslcard?src_type=internal&version=1&uin={qqTeam}&card_type=group&source=qrcode"
intent=droid.makeIntent(action=action, uri=uri)
droid.startActivityIntent(intent.result)
打開qq
def jumpQQ(qq):
action="android.intent.action.VIEW"
uri=f"mqqapi://card/show_pslcard?src_type=internal&source=sharecard&version=1&uin={qq}"
intent=droid.makeIntent(action=action, uri=uri)
droid.startActivityIntent(intent.result)
分享純文本到QQ
def shareQQ(content):
action="android.intent.action.SEND"
mime="text/plain"
extras={
"android.intent.extra.SUBJECT":"share",
"android.intent.extra.TEXT":content
}
flags=FLAG_ACTIVITY_NEW_TASK
packageName="com.tencent.mobileqq"
className="com.tencent.mobileqq.activity.JumpActivity"
intent=droid.makeIntent(action=action,type=mime,extras=extras,flags=flags,packagename=packageName,classname=className)
droid.startActivityIntent(intent.result)
打開瀏覽器搜索
def search(content):
# 等同於droid.search(content)
action="android.intent.action.WEB_SEARCH"
extras={
"query":content,
}
intent=droid.makeIntent(action=action, extras=extras)
droid.startActivityIntent(intent.result)
啟動app
# 啟動app
def launchAPP(appName):
flag=False
# 獲取用戶安裝的app
# getInstalledPackages.APPS_ALL = 5 (所有應用)
# getInstalledPackages.APPS_USER = 4 (用戶應用,預設)
# getInstalledPackages.APPS_SYSTEM = 3 (系統應用)
# getInstalledPackages.APPS_SYSTEM_UPDATED = 2 (系統已更新應用)
# getInstalledPackages.APPS_SYSTEM_NOT_UPDATED = 1 (系統未更新應用)
installedAPPs=droid.getInstalledPackages(flag=droid.getInstalledPackages.APPS_USER)
if appName not in installedAPPs.result.values():
droid.makeToast(f"{appName}未安裝")
return flag
# 獲取可啟動包名、類名、應用名
apps=droid.getLaunchablePackages(True)
appsInfo=[(k, v.split('|')[0], v.split('|')[1]) for k, v in apps.result.items()]
if appName not in [a[2] for a in appsInfo]:
droid.makeToast(f"{appName}無許可權啟動")
return flag
packagename=[p[0] for p in appsInfo if p[2] == appName]
classname=[p[1] for p in appsInfo if p[2] == appName]
droid.launch(classname=classname[0], packagename=packagename[0], wait=True)
flag=True
return flag
安裝app(該方法無法執行,未授權)
FLAG_ACTIVITY_NEW_TASK=268435456
def installAPP(apkPath):
"無安裝其他app許可權"
action="android.intent.action.VIEW"
uri=droid.pathToUri(apkPath).result
mime="application/vnd.android.package-archive"
flags=FLAG_ACTIVITY_NEW_TASK
intent=droid.makeIntent(action=action,uri=uri,type=mime,flags=flags)
droid.startActivityIntent(intent.result)
卸載app
def unInstallAPP(packageName):
#
action="android.intent.action.DELETE"
uri=f"package:{packageName}"
intent=droid.makeIntent(action=action,uri=uri)
droid.startActivityIntent(intent.result)
撥打電話
def dial(phone):
action="android.intent.action.CALL"
uri=f"tel:{phone}"
intent=droid.makeIntent(action=action,uri=uri)
droid.startActivityIntent(intent.result)
打開系統設置
ACTION_SETTINGS android.settings.SETTINGS
ACTION_BLUETOOTH_SETTINGS android.settings.BLUETOOTH_SETTINGS
修改成對應字元串即可
欄位列表:
ACTION_SETTINGS 系統設置
ACTION_APN_SETTINGS APN設置
ACTION_LOCATION_SOURCE_SETTINGS 位置和訪問信息
ACTION_WIRELESS_SETTINGS 網路設置
ACTION_AIRPLANE_MODE_SETTINGS 無線和網路熱點設置
ACTION_SECURITY_SETTINGS 位置和安全設置
ACTION_WIFI_SETTINGS 無線網WIFI設置
ACTION_WIFI_IP_SETTINGS 無線網IP設置
ACTION_BLUETOOTH_SETTINGS 藍牙設置
ACTION_DATE_SETTINGS 時間和日期設置
ACTION_SOUND_SETTINGS 聲音設置
ACTION_DISPLAY_SETTINGS 顯示設置——字體大小等
ACTION_LOCALE_SETTINGS 語言設置
ACTION_INPUT_METHOD_SETTINGS 輸入法設置
ACTION_USER_DICTIONARY_SETTINGS 用戶詞典
ACTION_APPLICATION_SETTINGS 應用程式設置
ACTION_APPLICATION_DEVELOPMENT_SETTINGS 應用程式設置
ACTION_QUICK_LAUNCH_SETTINGS 快速啟動設置
ACTION_MANAGE_APPLICATIONS_SETTINGS 已下載(安裝)軟體列表
ACTION_SYNC_SETTINGS 應用程式數據同步設置
ACTION_NETWORK_OPERATOR_SETTINGS 可用網路搜索
ACTION_DATA_ROAMING_SETTINGS 移動網路設置
ACTION_INTERNAL_STORAGE_SETTINGS 手機存儲設置
def startSettings(action="android.settings.SETTINGS"):
droid.startActivity(action=action)
打開文件
FLAG_ACTIVITY_NEW_TASK=268435456
def openFile(path):
action="android.intent.action.VIEW"
uri=droid.pathToUri(path).result
flags=FLAG_ACTIVITY_NEW_TASK
intent=droid.makeIntent(action=action,uri=uri, flags=flags)
droid.startActivityIntent(intent.result)
調用文件管理器選擇圖片
# 調用文件選擇器選擇圖片
def pickPic():
action="android.intent.action.PICK"
mime="images/*"
packagename="com.android.fileexplorer"
classname="com.android.fileexplorer.activity.FileActivity"
#intent=droid.makeIntent(action=action,type=mime, packagename=packagename, classname=classname)
#f=droid.startActivityForResultIntent(intent.result)
f=droid.startActivityForResult(action=action,type=mime, packagename=packagename, classname=classname)
return f.result
發送簡訊
def smsSend(message, phone):
action="android.intent.action.SENDTO"
uri=f"smsto:{phone}"
extras={
"sms_body":message
}
action="android.intent.action.VIEW"
droid.startActivity(action=action,uri=uri, extras=extras)
返回桌面
def backHome():
action="android.intent.action.MAIN"
categories=["android.intent.category.HOME"]
intent=droid.makeIntent(action=action, categories=categories)
droid.startActivityIntent(intent.result)
三、總結
文章中實例均採用qpython 3c自帶sl4a完成,sl4a為提供了豐富的api和安卓交互,更多實例由大家自行探索。
本文由【產品經理不是經理】gzh同步發佈,歡迎關註