System

เข้าถึงข้อมูลระบบ/อุปกรณ์รันไทม์และทริกเกอร์การดำเนินการระดับระบบจากสคริปต์

รูปแบบคำสั่ง

System()

ค่าที่ส่งกลับ

ตัวอย่าง

sys = System()
print("sdk=", sys.sdk())
battery = System.battery()
print("battery=", battery.percent, battery.charging)
System.toast("Macro started")
System.play_noti()
System.home()

ฟิลด์

ชื่อคำอธิบาย
devdict
ข้อมูลอุปกรณ์ปัจจุบัน ได้แก่ isEmulator, ระดับ API Android sdk, รหัส language, darkmode, การรองรับ touch และความพร้อมของ capture อ่านอีกครั้งเพื่อรับข้อมูลใหม่
batterydict
ข้อมูลแบตเตอรี่ปัจจุบัน: percent ตั้งแต่ 0 ถึง 100, charging, temperature เป็นองศาเซลเซียส และ health เป็นข้อความ หากอ่าน percent หรือ temperature ไม่ได้จะเป็น -1 และ health ที่ไม่ทราบเป็น "unknown" อ่านใหม่เพื่ออัปเดต
screendict
ข้อมูลหน้าจอปัจจุบัน: width และ height เป็นพิกเซล สเกล density, dpi และ orientation เป็นมุมหมุนจอหน่วยองศา (0, 90, 180 หรือ 270) อ่านใหม่หลังหมุนอุปกรณ์
memorydict
หน่วยความจำระบบปัจจุบัน: avail, total และ threshold ของหน่วยความจำต่ำเป็นไบต์ ส่วน low บอกว่าหน่วยความจำที่เหลือมีน้อย อ่านใหม่เพื่ออัปเดต

เมธอด

21 เมธอด

System.time_ms

อ่านวันเวลาปัจจุบันเป็นมิลลิวินาทีนับจาก 1970-01-01 00:00:00 UTC

รูปแบบคำสั่ง

System.time_ms()

ค่าที่ส่งกลับ

Number — มิลลิวินาทีนับจาก 1970-01-01 00:00:00 UTC

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
started = System.time_ms()
wait(100)
print(System.time_ms() - started)

System.app_version

อ่านชื่อเวอร์ชัน CogniTab ที่ติดตั้ง

รูปแบบคำสั่ง

System.app_version()

ค่าที่ส่งกลับ

String — ชื่อเวอร์ชัน CogniTab หรือ "unknown" หากอ่านไม่ได้

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.app_version())

System.variant

รับรหัสคงที่ของรูปแบบมาโครที่เลือกสำหรับการรันครั้งนี้

รูปแบบคำสั่ง

System.variant()

ค่าที่ส่งกลับ

String — รหัสรูปแบบ เช่น `default` หรือ `pro_plus`

ตัวอย่าง

# แยกเงื่อนไขตามรูปแบบมาโครปัจจุบัน
if System.variant() == "pro_plus":
    print("Pro Plus")

System.open

เปิดกิจกรรมเริ่มต้นของแอป Android ที่ติดตั้งไว้ CogniTab จะค้นหากิจกรรมตัวเปิดมาตรฐานหรือ Android TV จากชื่อแพ็กเกจ จึงไม่ต้องระบุคลาสกิจกรรม

รูปแบบคำสั่ง

System.open(package_name)

พารามิเตอร์

ชื่อคำอธิบาย
package_nameString
ชื่อแพ็กเกจของแอป Android เช่น `com.android.settings`
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

Boolean — `True` เมื่อ Android ยอมรับ Intent สำหรับเปิดแอป และ `False` เมื่อไม่มีแอป ไม่มีกิจกรรมที่เปิดได้ หรือไม่สามารถเปิดได้

ตัวอย่าง

# เปิดการตั้งค่า Android และจัดการกรณีที่ไม่สามารถเปิดแอปได้
opened = System.open("com.android.settings")
if not opened:
    System.toast("App is unavailable")

System.sdk

อ่านระดับ API ของ Android ที่อุปกรณ์นี้ใช้

รูปแบบคำสั่ง

System.sdk()

ค่าที่ส่งกลับ

Number — ระดับ API ของ Android เป็นตัวเลข

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.sdk())

System.language

รับรหัสภาษาปัจจุบัน

รูปแบบคำสั่ง

System.language()

ค่าที่ส่งกลับ

String — รหัสภาษาสถานที่ (เช่น `en`, `vi`)

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.language())

System.dpi

รับ DPI ของหน้าจอปัจจุบัน

รูปแบบคำสั่ง

System.dpi()

ค่าที่ส่งกลับ

Number — แสดงความหนาแน่น DPI

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.dpi())

System.darkmode

ตรวจสอบว่าเปิดใช้งานโหมดมืดหรือไม่

รูปแบบคำสั่ง

System.darkmode()

ค่าที่ส่งกลับ

Boolean — 'จริง' เมื่อใช้งานโหมดมืด

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
if System.darkmode():
    print("Dark mode")

System.play_noti

เล่นเสียงแจ้งเตือนของระบบ

รูปแบบคำสั่ง

System.play_noti()

ค่าที่ส่งกลับ

None — ไม่มีค่าส่งคืน

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
System.play_noti()

System.toast

แสดงข้อความสั้นของ Android ย่อ list, dict และค่าที่มีโครงสร้างอื่นให้อ่านง่าย

รูปแบบคำสั่ง

System.toast(text)

พารามิเตอร์

ชื่อคำอธิบาย
textAny
Toast text or structured value to display compactly.
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

None — ไม่มีค่าส่งคืน

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
System.toast("Macro started")

System.stop

หยุดแมโครปัจจุบันทันทีจากสคริปต์

รูปแบบคำสั่ง

System.stop()

ค่าที่ส่งกลับ

None — หยุดการดำเนินการ ไม่มีการสังเกตค่าที่ส่งคืน

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
if Storage.get("stop_requested", False):
    System.stop()
print("Still running")

System.minimized_dock

ค้นหาหรือปรับท่าเรือซ้อนทับที่ย่อเล็กสุด จุดใช้มาตราส่วนพิกัดและกฎจุดยึดเดียวกันกับเป้าหมายการคลิกตามจุด ความกว้างและความสูงเป็นพิกเซลของหน้าจอปัจจุบัน

รูปแบบคำสั่ง

System.minimized_dock(point=None, *, width=None, height=None, alpha=None, mode=None)

พารามิเตอร์

ชื่อคำอธิบาย
pointPoint?
Optional top-left dock position.
ไม่บังคับ · ระบุตามตำแหน่งหรือชื่อ
ค่าเริ่มต้น: None
widthNumber?
ความกว้างพื้นที่ dock ที่ย่อแล้วเป็นพิกเซล ขณะมีแผงลอยที่ย่ออยู่ dock ใช้ขนาดตามธรรมชาติ โดยเก็บขนาดที่ขอไว้และนำกลับมาใช้เมื่อไม่มีแผงติดอยู่
ไม่บังคับ · ระบุชื่อเท่านั้น
ค่าเริ่มต้น: None
heightNumber?
ความสูงพื้นที่ dock ที่ย่อแล้วเป็นพิกเซล ขณะมีแผงลอยที่ย่ออยู่ dock ใช้ขนาดตามธรรมชาติ โดยเก็บขนาดที่ขอไว้และนำกลับมาใช้เมื่อไม่มีแผงติดอยู่
ไม่บังคับ · ระบุชื่อเท่านั้น
ค่าเริ่มต้น: None
alphaNumber?
Optional dock opacity from 0.2 to 1.0.
ไม่บังคับ · ระบุชื่อเท่านั้น
ค่าเริ่มต้น: None
modeString?
รูปแบบ dock: icon, row หรือ hidden โดย icon คงปุ่มเปิดแผงลอยที่ย่ออยู่ hidden มีผลตลอดการรันนี้และคงปุ่มหยุดที่มุมซ้ายล่างเมื่อไม่มีปุ่มหยุดบนแผงลอยที่มองเห็นได้ เมื่อแผงย่อ หน้าต่างฉุกเฉินนี้มีปุ่มเปิดแผงด้วย
ไม่บังคับ · ระบุชื่อเท่านั้น
ค่าเริ่มต้น: None

ค่าที่ส่งกลับ

dict — สถานะที่ใช้แล้วพร้อม `applied`, `x`, `y`, `width`, `height`, `alpha`, `mode` และ `reason` ที่ไม่บังคับ

ตัวอย่าง

# ย้าย ปรับขนาด และยุบ dock แบบย่อเป็นไอคอนสำหรับการรันครั้งนี้
System.minimized_dock(Point(24, 120), width=72, height=36, alpha=0.85, mode="icon")

System.send_key

ส่งเหตุการณ์กดและปล่อยปุ่ม Android หนึ่งคู่ไปยังช่องข้อความที่กำลังโฟกัสผ่าน Accessibility บน Android 13 ขึ้นไป โดยไม่ต้องหาตำแหน่งปุ่มบนแป้นพิมพ์หน้าจอ

รูปแบบคำสั่ง

System.send_key(key)

พารามิเตอร์

ชื่อคำอธิบาย
keyString|Number
ชื่อปุ่ม Android ไม่แยกตัวพิมพ์ใหญ่และเล็ก และใส่คำนำหน้า `KEYCODE_` ได้ เช่น `ENTER`, `TAB`, `ESCAPE`, `DEL`, `DPAD_LEFT`, `A` หรือ `F1` หรือระบุรหัสปุ่ม Android เป็นจำนวนเต็มบวก เช่น `66` สำหรับ Enter โดยจะตัดช่องว่างที่ต้นและท้ายชื่อออก
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

Boolean — คืนค่า `True` เมื่อส่งเหตุการณ์ปุ่มทั้งสองแล้ว และ `False` บน Android 12L หรือต่ำกว่า เมื่อไม่รองรับปุ่มนั้น ไม่มีการเชื่อมต่อกับช่องข้อความที่กำลังใช้งาน หรือส่งไม่สำเร็จ แอปปลายทางเป็นผู้กำหนดวิธีจัดการปุ่ม จึงควรตรวจสอบหน้าจอก่อนดำเนินการต่อ ฟังก์ชันนี้ไม่ได้ส่งปุ่มฮาร์ดแวร์ให้ทั้งระบบหรือยืนยันว่าแอปจัดการปุ่มแล้ว

ตัวอย่าง

# ส่งปุ่มไปยังช่องข้อความที่กำลังโฟกัสด้วยชื่อหรือรหัสปุ่ม Android
sent = System.send_key("ENTER")
System.send_key(key="TAB")
System.send_key(66)

System.back

ขอให้ Android ย้อนกลับ เหมือนกดปุ่ม Back

รูปแบบคำสั่ง

System.back()

ค่าที่ส่งกลับ

Boolean — `True` หาก Android ยอมรับคำสั่ง มิฉะนั้นเป็น `False`

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.back())

System.home

ขอให้ Android เปิดหน้าจอหลัก

รูปแบบคำสั่ง

System.home()

ค่าที่ส่งกลับ

Boolean — `True` หาก Android ยอมรับคำสั่ง มิฉะนั้นเป็น `False`

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.home())

System.recent

เปิดหน้าจอล่าสุด

รูปแบบคำสั่ง

System.recent()

ค่าที่ส่งกลับ

Boolean — `True` หาก Android ยอมรับคำสั่ง มิฉะนั้นเป็น `False`

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.recent())

System.noti

เปิดหน้าต่างแจ้งเตือน

รูปแบบคำสั่ง

System.noti()

ค่าที่ส่งกลับ

Boolean — `True` หาก Android ยอมรับคำสั่ง มิฉะนั้นเป็น `False`

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.noti())

System.lockscreen

ล็อคหน้าจอปัจจุบัน

รูปแบบคำสั่ง

System.lockscreen()

ค่าที่ส่งกลับ

Boolean — `True` หาก Android ยอมรับคำสั่ง มิฉะนั้นเป็น `False`

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.lockscreen())

System.powerdialog

เปิดกล่องโต้ตอบพลังงาน

รูปแบบคำสั่ง

System.powerdialog()

ค่าที่ส่งกลับ

Boolean — `True` หาก Android ยอมรับคำสั่ง มิฉะนั้นเป็น `False`

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.powerdialog())

System.quicksetting

เปิดการตั้งค่าด่วนของ Android

รูปแบบคำสั่ง

System.quicksetting()

ค่าที่ส่งกลับ

Boolean — `True` หาก Android ยอมรับคำสั่ง มิฉะนั้นเป็น `False`

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.quicksetting())

System.screenshot

ขอให้ Android ถ่ายภาพหน้าจอ

รูปแบบคำสั่ง

System.screenshot()

ค่าที่ส่งกลับ

Boolean — `True` หาก Android ยอมรับคำสั่ง มิฉะนั้นเป็น `False`

ตัวอย่าง

# อ่านข้อมูล Android หรือขอให้ทำงานระบบที่ระบุไว้
print(System.screenshot())