Wenn die SMS -Nachricht Leerzeichen im Zeichen hat, wird sie nicht gesendet [geschlossen]Python

Python-Programme
Anonymous
 Wenn die SMS -Nachricht Leerzeichen im Zeichen hat, wird sie nicht gesendet [geschlossen]

Post by Anonymous »

Code: Select all

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()

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post