簡體   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