【问题标题】:Can't send a SMS using SmsManager in android无法在 android 中使用 SmsManager 发送短信
【发布时间】:2014-05-02 12:38:12
【问题描述】:
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"'
  • 你有足够的余额来发送消息吗?
  • 是的,但是我的手机是双卡系统。在运行应用程序之前我关闭了 Sim1。然后运行应用程序

标签: android


【解决方案1】:

use this website for reference

<uses-permission android:name="android.permission.SEND_SMS" />

【讨论】:

    【解决方案2】:

    根据你的代码,问题是你没有调用sendMessage方法。

    你需要有一个当你点击一个按钮时发生的动作。谷歌是如何在 Android 上完成的。一旦你解决了这个问题,你应该可以点击按钮来调用sendMessage方法。

    此外,您还需要知道如何查看错误日志。有许多应用程序允许您执行此操作。了解如何查看错误日志很重要,这样如果您的 Toast 最终弹出,您将能够检查日志以了解发生这种情况的原因。

    【讨论】:

    • 我解决了问题。实际上问题是双卡。我总是停用我的第一个 sim(Sim1)。但这就是问题所在。我的应用程序总是能找到我的第一个 sim 消息中心号码,但我停用了 Sim1。现在我激活了我的第一个 sim 并且这有效。感谢大家的回答和帮助。
    【解决方案3】:

    如果您触发按钮单击,我猜您在代码中的某个位置有 sendMessage()? sendTextMessage 工作得很好。无论如何,请确保您已验证 number 是否为 null 或格式错误。这可能会导致问题。还要确保您使用的是正确的 SMSManager (android.telephony.SmsManager) 而不是 android.telephony.gsm.SmsManager。还需要 SEND_SMS 权限。

    【讨论】:

      【解决方案4】:

      我解决了问题。实际上问题在于双卡。我总是停用我的第一个 sim(Sim1)。但这就是问题所在。我的应用程序总是能找到我的第一个 sim 消息中心号码,但我停用了 Sim1。现在我激活了我的第一个 sim 并且这有效。感谢大家的回答和帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-29
        • 1970-01-01
        • 2015-02-05
        • 2011-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多