我正在尝试将一部Android手机连接到运行Nagios的Linux服务器,以便在其监控的系统发生故障时发送短信。
手机上的Android版本为7(未植根)。我在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 :(得分:1)
有一个解决方案,但你必须创建自己的应用程序(非常非常简单)。
创建一个新应用并将此代码复制粘贴到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 !"