android - 如何使 SmsManager API 不同时显示发送的消息和接收的消息
问题描述
我正在编写一个应用程序,当用户对应用程序执行特定操作时,它会向应用程序用户发送一条短信。现在,我正在使用 SmsManager API 来实现这一点。唯一的问题是发送的消息和接收的消息在消息中同时显示。我该如何解决。另外,我想将消息发件人的名称更改为应用程序名称。
public void sendSMSEntering() {
String phone = "08187016641";
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phone, null, "Welcome to the ICAN 2019 conference" , null, null);
Toast.makeText(getApplicationContext(), "SMS sent.", Toast.LENGTH_LONG).show();
}
public void sendSMSExiting() {
String phone = "08187016641";
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phone, null, "Goodbye. We hope you enjoyed the conference" , null, null);
Toast.makeText(getApplicationContext(), "SMS sent.", Toast.LENGTH_LONG).show();
}
我的来自 xml onClickListener 的按钮
sendMeAMessage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clickcount++;
if (clickcount % 2 == 0) {
sendSMSEntering();
} else {
sendSMSExiting();
}
}
});
截屏
从上图中可以看出,应用程序发送的消息和我收到的消息都在那里。我只希望收到的消息显示在消息中。您还将观察到消息的发件人是我的电话号码(String phone = "08187016641")。“电话”既用作收件人电话号码,也用作消息的发件人。也许 smsManager.sendTextMessage(phone, null, "再见。希望您喜欢这次会议" , null, null); 不足以实现这一点,需要更改为其他内容。我需要建议
解决方案
经过这么多研究,我发现 SMSManager API 很糟糕。有很多优秀的 SMS API 可供您与您的应用程序集成。然后,您可以根据需要使用 GET 或 POST 来请求 SMS 消息。这些 SMS API 为您提供了使用自定义发件人名称和其他强大选项来自定义传入文本消息的选项。其中一些 SMS API 包括 Nexmo SMS API、Ozeki SMS API 等等。好消息是,他们有一个全面的文档。事实上,将这些 SMS API 集成到您的应用程序中只需要几行代码。
推荐阅读
- html - 在不加载的情况下创建多页网站
- python - 为键创建字典:二维列表中的值
- android - 用android studio实现超类方法的位置
- mysql - 无法使用 mysql 工作台连接到 heroku mysql 数据库 clearDB
- node.js - Angular 6 SSH2 - 如何使用 Promise 处理错误?
- facebook - 各种 Facebook API 页面“instagram”字段之间有什么区别
- python - 如何将python输出发送到电报频道而不是组和gmail电子邮件组
- php - 如何使用 volley 和 phpmyadmin 在 android 应用程序中更新图像?
- spring-boot - 如何使用系统环境设置应用程序属性变量
- go - 只返回golang中多个返回值的第一个结果