想开发一款可以自动回复收到的文字的应用,在回复的信息中使用gps / google地图包含我的位置,并使用文字转语音朗读收到的信息。
我的第一个问题(这个问题也涉及到什么!)正在弄清楚如何自动回复收到的短信。我已经构建了一个基本的GUI和菜单选项。到目前为止,有一个EditText字段使用shared_preferences来记住字符串。
如何将此字符串添加到sms消息中,并将消息发送给只发短信给我的人?我对java有一个很好的理解,但我还没有找到任何明确的例子,有点困惑。 任何帮助都会很棒! 感谢
(基本上是应用程序发明者应用程序“NoTextWhileDriving2”的java oracle版本)
答案 0 :(得分:1)
对于特定于Android的解决方案,您可以使用SmsManager类。以下是从similar question获取的一些示例代码,用于处理从Android应用程序发送短信。
从android开发API演示页面看一下SmsMessagingDemo。以下是发送代码的片段。
// Watch for send button clicks and send text messages.
Button sendButton = (Button) findViewById(R.id.sms_send_message);
sendButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (TextUtils.isEmpty(recipientTextEdit.getText())) {
Toast.makeText(SmsMessagingDemo.this, "Please enter a message recipient.",
Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(contentTextEdit.getText())) {
Toast.makeText(SmsMessagingDemo.this, "Please enter a message body.",
Toast.LENGTH_SHORT).show();
return;
}
recipientTextEdit.setEnabled(false);
contentTextEdit.setEnabled(false);
SmsManager sms = SmsManager.getDefault();
List<String> messages = sms.divideMessage(contentTextEdit.getText().toString());
String recipient = recipientTextEdit.getText().toString();
for (String message : messages) {
sms.sendTextMessage(recipient, null, message, PendingIntent.getBroadcast(
SmsMessagingDemo.this, 0, new Intent(ACTION_SMS_SENT), 0), null);
}
}
});
答案 1 :(得分:1)
您必须设置BroadcastReceiver才能接收SMS消息。在Android Developers Blog中很好地描述了。
在code.google.com android-smspopup上还有一个使用SMS的开源应用程序。