想要开发一个可以自动回复接收到的文本的应用程序,在返回的消息中使用 gps/google map 包含我的位置,并使用文本到语音读出接收到的消息。
我的第一个问题(这个问题也与此有关!)是弄清楚如何自动回复收到的短信。我已经构建了一个基本的 GUI 和菜单选项。有一个 EditText 字段使用 shared_preferences 来记住到目前为止的字符串。
我如何将这个字符串添加到短信中,并让消息发送给刚刚给我发短信的人?我对 java 有很好的理解,但我还没有找到任何明确的例子并且有点困惑。 任何帮助都会很棒! 谢谢
(基本上是 app inventor 应用程序“NoTextWhileDriving2”的 java oracle 版本)
最佳答案
对于 android 特定的解决方案,您可以使用 SmsManager类(class)。这是从 similar question 中获取的一些示例代码处理从 Android 应用程序发送短信。
看看SmsMessagingDemo来自 android 开发 API 演示页面。以下是发送代码的 fragment 。
// 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);
}
}
});
关于java - 想开发一款可以自动回复收到的短信的app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4888590/