2017-09-25 80 views
0

我正在嘗試將連接到運行Nagios的Linux服務器的Android手機發送到正在監視的系統停機時發送短信。從連接到Linux的Android手機發送短信

手機上的Android版本是7(沒有root)。我在Linux電腦上安裝了adb,手機通過USB電纜連接。

我試圖用下面的代碼:

adb shell am start -a android.intent.action.SENDTO -d sms:$mobile_number --es sms_body $sms_text --ez exit_on_sent true 
adb shell input keyevent 22 
adb shell input keyevent 66 

它正常工作了一段時間,並沿着它停止工作的方式的某處。它鍵入消息,我可以在手機的屏幕上看到但無法發送。

當我在命令行手動運行命令我得到類似的錯誤:

「警告:活動尚未開始,其當前任務已提請 前」

我想知道是否有更好的方式從Linux計算機發送短信?如果需要,我可以在手機上安裝合適的應用程序,我只需要一種可靠的方法。

+0

我會建議添加的每個命令之間的停頓......至少2秒......也許,的KeyEvents運行而活動並沒有完全建立和KeyEvent的不如你所願處理 – W0rmH0le

回答

0

有一個解決方案,但你將不得不創建自己的應用程序(非常非常簡單)。

創建一個新的應用程序,此代碼複製粘貼到在MainActivity的onCreate()方法:

if(getIntent()!=null && getIntent().getExtras()!=null){ 
    String number = getIntent().getStringExtra("number"); 
    String message = getIntent().getStringExtra("message"); 

    SmsManager manager = SmsManager.getDefault(); 
    manager.sendTextMessage(number, null, message, null, null); 
} 

建立和您的手機上安裝的應用程序。那麼只需做到這一點:

adb shell am start -n "com.example.your_app/.MainActivity" -e number XXXXXXXXXX -e message "Hello World !"