[英]Can we send sms to other non android device using SmsManager?
[英]Can't send a SMS using SmsManager in android
I want to send a sms from my android phone but it doesn't work.
这是我的代码:
public class MainActivity extends Activity{
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void sendMessage(View view){
String msg,number;
number= "***********";
msg="This is a message";
try{
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(number, null, msg,null,null);
Toast.makeText(getApplicationContext(), "SMS sent.",
Toast.LENGTH_LONG).show();
}catch(Exception ex){
Toast.makeText(getApplicationContext(),"SMS failed, please try again.",Toast.LENGTH_LONG).show();
ex.printStackTrace();
}
}
我包含“ uses-permission android:name =“ android.permission.SEND_SMS””,我从Android手机运行此代码,但未发送任何消息。 如果有任何错误,我怎么能看到这些错误以及如何解决。 请帮助我。谢谢。
<uses-permission android:name="android.permission.SEND_SMS" />
根据您的代码,问题在于您尚未调用sendMessage
方法。
单击按钮时,您需要执行一项操作。 Google在Android上是如何做到的。 解决之后,您应该可以使按钮单击以调用sendMessage
方法。
另外,您将需要知道如何查看错误日志。 有许多应用程序可让您执行此操作。 知道如何查看错误日志非常重要,这样,如果您的Toast最终弹出,您就可以检查日志以了解发生这种情况的原因。
我想如果您触发按钮单击,那么您在代码中的某些位置有sendMessage()吗? sendTextMessage运作良好。 无论如何,请确保您已验证数字是否为null或格式错误。 这可能会导致问题。 还要确保您使用的是正确的SMSMAnager(android.telephony.SmsManager),而不是android.telephony.gsm.SmsManager。 还需要SEND_SMS权限。
我解决了问题。实际上问题出在双卡双待上。 而且我总是停用我的第一个sim(Sim1)。 但这是问题所在。我的应用程序始终会找到我的第一个sim短信中心号码,但我停用了Sim1。现在我激活了我的第一个sim卡,此方法就可以了。感谢大家的回答和帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.