繁体   English   中英

无法在Android中使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM