[Python] Python Hello, I am typing the code for sending sms if the sms message has spaces in...

Discussão em 'Python' iniciado por Stack, Maio 6, 2025.

  1. Stack

    Stack Membro Participativo

    import pandas as pd import subprocess import time

    def send_sms(): df = pd.read_excel("contacts.xlsx")

    for index, row in df.iterrows():
    print(f"Обработка номера: {row['Номер']}")

    try:
    # 1. Открываем через универсальный intent (без указания конкретного Activity)
    subprocess.run(
    f'adb shell am start -a android.intent.action.SENDTO '
    f'-d sms:{row["Номер"]} '
    f'--es sms_body "{row["Сообщение"]}" '
    f'--ez exit_on_sent true',
    shell=True,
    check=True
    )

    # 2. Увеличенное ожидание для One UI Core
    time.sleep(8) # Минимум 8 секунд для стабильной работы

    # 3. Специальная последовательность для Samsung
    subprocess.run('adb shell input keyevent 4', shell=True) # Сначала BACK
    time.sleep(1)

    # 4. Точный тап по координатам (для SM-M315F)
    subprocess.run('adb shell input tap 1008 2134', shell=True)
    time.sleep(1)

    # 5. Финишное подтверждение
    subprocess.run('adb shell input keyevent 23', shell=True) # DPAD_CENTER

    print(f"✓ Сообщение отправлено на {row['Номер']}")

    except Exception as e:
    print(f"✕ Ошибка: {str(e)}")
    # Альтернативный метод через broadcast
    subprocess.run(
    f'adb shell am broadcast '
    f'-a com.samsung.android.messaging.SEND_SMS '
    f'--es recipients "{row["Номер"]}" '
    f'--es text "{row["Сообщение"]}"',
    shell=True
    )

    time.sleep(4) # Обязательная пауза между сообщениями


    if name == "main": # Предварительные настройки ADB subprocess.run('adb shell settings put global window_animation_scale 0', shell=True) subprocess.run('adb shell settings put global transition_animation_scale 0', shell=True)

    send_sms()

    Continue reading...

Compartilhe esta Página