android成功发送textview的文本作为短信但在其他模拟器上接收无效的字符

时间:2011-08-26 11:44:21

标签: android sms

我想清楚地解释一下我做了什么。我有一个listactivity存储准备好的消息,如“稍后给我打电话!”,“我很快就会来”......当用户点击该项目时,listitem(对象)通过getintent().getserializable("comingstring");现在进入其他意图的textview textview通过textview.setText(getintent().getserializable("comingstring").toString())存储此字符串。这里没有任何问题。我输入了其他模拟器的电话号码(5554),消息已成功发送,但问题是当我看到模拟器5554的收件箱时,我看到“@ {&!”之类的已发送消息= |那种字符。你能告诉我一个解决方案吗?(我也尝试通过mms.apk发送准备好的消息(listitem的对象),但结果再次失败。消息已经成功发送但是当我读取其他模拟器的时候在收件箱中接收消息,我只看到愚蠢的字符。)

消息来自listactivity。 在列表活动中

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, messages); 
setListAdapter(adapter); 

public void onItemClick(AdapterView<?> parent, View v, int position,
                    long rowid) {
            itemMesaj = parent.getItemAtPosition(position).toString();
            SmsActivity.putExtra("itemMesaj", itemMesaj);
            startActivity(SmsActivity);
 }

在SmsActivity中

itemMesaj =  (String)getIntent().getSerializableExtra("itemMesaj");txtMesaj = (TextView)findViewById(R.id.txtmesaj);txtMesaj.setText(itemMesaj);

public void onClick(View src) {
switch (src.getId()) {
case R.id.btnSend:
     messageinsend = txtMesaj.getText().toString();  
     Log.d("messagecheck", messageinsend);
     sendSMS("5556", messageinsend);
    break;
default:
    break;

}

我从http://mobiforge.com/developing/story/sms-messaging-android受益于sendSMS方法。正如我所说,发送短信或接收没有问题只有问题是接收文字有无效的字符,如“@ {&amp ;!” = | 。如果我尝试发送sendSms(“5556”,“尝试某些文字”),那么接收方就没有问题了。我看到的文字就像尝试一些文字一样。

1 个答案:

答案 0 :(得分:0)

问题是从列表视图创建/获取消息时。
而不是这个

itemMesaj = parent.getItemAtPosition(position).toString(); 

试试这个

itemMesaj = adapter.getItem(position);

编辑:
在onItemClick()参数View v中是单击的视图。所以你也可以使用它来获取短信文本。喜欢

TextView tv = (TextView)v;
String message = tv.gettext();