2012-05-21 173 views
1

我已經創建了一個android應用程序。現在我想通過它發送短信到一個真正的手機號碼...有人可以幫助我。互聯網上提供的信息是在兩個模擬器之間發送消息。但我想發一個真正的手機號碼的短信...請幫助我。通過Android模擬器發送短信

+0

仿真器具有沒有手機合同/數字/等,所以不工作。 – zapl

回答

0

轉問如何建立一個電子郵件帳戶在您的Android模擬器How can i configure gmail in Android emulator?,然後使用下面的代碼來發送電子郵件,

Intent email = new Intent(Intent.ACTION_SEND); 
    email.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});   
    email.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
    email.putExtra(Intent.EXTRA_TEXT, "message"); 
    email.setType("message/rfc822"); 
    startActivity(Intent.createChooser(email, "Choose an Email client :")); 
1

模擬器,它不是一個真正的手機,不用一個號碼或SIM卡,因此它不能從外部設備發送或接收短信。從CMD遠程登錄,您可以使用手機短信發送PHONENUMBER

編輯:

private SmsMessage[] getMessagesFromIntent(Intent intent) { 
    SmsMessage msgs[] = null; 
    Bundle bundle = intent.getExtras(); 
    try { 
     Object pdus[] = (Object[]) bundle.get("pdus"); 
     msgs = new SmsMessage[pdus.length]; 
     for (int n = 0; n < pdus.length; n++) { 
      byte[] byteData = (byte[]) pdus[n]; 
      msgs[n] = SmsMessage.createFromPdu(byteData); 
     } 
    } 
    catch (Exception e) { 
     Logger.getDefault().error("Fail to create an incoming SMS from pdus", e); 
    } 
    return msgs; 
} 
+0

所以我怎麼能在我的應用程序允許短信設施..任何想法? – thedarkpassenger

+0

我不明白你的問題,但如果你想從你的應用程序讀取短信,你必須使用廣播接收器。看到上面的編輯。 – 113408

1

我認爲你無法從仿真器發送短信到真正的設備,因爲它沒有任何數字。我已添加下面的代碼將有助於從實際設備發送短信。

PendingIntent pi = PendingIntent.getActivity(this, 0, 
      new Intent(this, RoadMoveActivity.class), 0);  
    SmsManager smsManager = SmsManager.getDefault(); 
    smsManager.sendTextMessage(sms_phonenumber, null, sms_message, pi, null); 

它的工作對我來說