2014-05-02 71 views
0
I want to send a sms from my android phone but it doesn't work. 

這裏給使用SmsManager短信是我的代碼:無法在Android的

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(); 
      } 
    } 

我有 '使用許可權的android:NAME = 「android.permission.SEND_SMS」' 我運行這個代碼從我的android手機,但它不會發送任何消息。 如果有任何錯誤,我怎麼能看到這些錯誤以及如何解決它。 請幫助我。提前感謝。

+0

您是否有權發送/閱讀短信? – SMR

+0

我包含'uses-permission android:name =「android.permission.SEND_SMS」' – Ankon

+0

你有足夠的餘額發送消息嗎? –

回答

0

根據你的代碼,問題是你有沒有叫sendMessage方法。

您需要執行單擊按鈕時發生的操作。谷歌是如何在Android上完成的。一旦你解決了這個問題,你應該能夠點擊按鈕來調用sendMessage方法。

此外,您需要知道如何查看錯誤日誌。有許多應用程序可以讓你做到這一點。瞭解如何查看錯誤日誌非常重要,這樣,如果您的Toast終於彈出,您將能夠檢查日誌以瞭解發生這種情況的原因。

+0

我解決了這個問題。其實問題在於雙卡。我總是停用我的第一個SIM(Sim1)。但是,這是問題。我的應用程序總是找到我的第一個SIM消息中心號碼,但我停用Sim1.Now我激活我的第一個SIM卡,這是工作。感謝所有人的答案和幫助。 – Ankon

0

我想你有sendMessage()一些在代碼中的位置,如果你觸發按鈕點擊? sendTextMessage運行良好。無論如何,確保你已經驗證,如果數字爲空或格式不正確。這可能會導致問題。請確保您使用正確的SMSMAnager(android.telephony.SmsManager)而不是android.telephony.gsm.SmsManager。 SEND_SMS權限也是必需的。

0

我解決了這個問題。實際上這個問題是針對雙卡的。我總是停用我的第一個SIM(Sim1)。但是,這是問題。我的應用程序總是找到我的第一個SIM消息中心號碼,但我停用Sim1.Now激活我的第一個SIM卡,這是工作。感謝所有您的答案和幫助