2012-04-23 74 views
1

排在首位,我使用模擬器來測試這個發送短信。 我要開的消息(發送作爲參數)的文本的默認短信應用程序,並允許用戶採取從那裏控制(和內置應用程序)。 我用這個代碼:Android的 - 通過內置的SMS應用

Button btnSMS = (Button) findViewById(R.id.btnSMS); 
    btnSMS.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View arg0) { 
      Intent it = new Intent(Intent.ACTION_VIEW); 
      it.putExtra("sms_body", "text"); 
      it.setType("vnd.android-dir/mms-sms"); 
     } 
    }); 

當我按下按鈕沒有任何反應。我希望SMS默認應用程序打開,與文本等各個領域,用戶必須填寫,然後發送郵件。這是因爲模擬器還是我的代碼?我還指定清單中的權限:

<使用許可權的android:NAME = 「android.permission.SEND_SMS」/ >

回答

6

你缺少startActivity ::

Intent it = new Intent(Intent.ACTION_VIEW); 
it.putExtra("sms_body", "text"); 
it.setType("vnd.android-dir/mms-sms"); 
startActivity(it); 

或您可以使用下面的代碼也::

String number = "12346556"; // The number on which you want to send SMS 
startActivity(new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", number, null))); 
+0

什麼亂七八糟的在我的頭上!謝謝! – ali 2012-04-23 14:06:25

+0

感謝這段代碼工作完美.... !!!!! – 2014-01-22 06:40:06

1

發送短信與內置的短信應用程序:

Intent i = new Intent(android.content.Intent.ACTION_VIEW); 

i.putExtra("address", "09090909; 092322424; 123456778"); 

i.putExtra("sms_body", "SMS Content"); 

i.setType("vnd.android-dir/mms-sms"); 

startActivity(i);