我想清楚地解释我做了什么。我有一个列表 Activity ,它存储准备好的消息,如“稍后给我打电话!”、“我很快就会来”...当用户单击该项目时,列表项(对象)通过 getintent() 转到其他 Intent 的 TextView 。 getserializable("comingstring");
现在 textview 通过 textview.setText(getintent().getserializable("comingstring").toString())
存储这个字符串。这里没有任何问题。我输入其他模拟器的电话号码 (5554),消息已成功传递,但问题是当我查看模拟器 5554 的收件箱时,我看到传递的消息,如“@ { & !' = | 那种字符。你能告诉我一个解决方案吗?(我也尝试通过 mms.apk 发送准备好的消息(listitem 的对象)但结果再次失败。消息已成功发送但是当我阅读其他模拟器的在收件箱中收到消息,我只看到愚蠢的字符。)
消息来自listactivity。 在列表 Activity 中:
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 方法.正如我所说,发送短信或接收没有问题,唯一的问题是接收文本包含无效字符,如 "@ { & !' = |。如果我尝试像这样发送 sendSms("5556","TRYING SOME TEXT"),接收端没有问题。我看到的文本类似于 TRYING SOME TEXT。
最佳答案
问题出在从 ListView 创建/获取消息时。
代替这个
itemMesaj = parent.getItemAtPosition(position).toString();
试试这个
itemMesaj = adapter.getItem(position);
编辑:
在onItemClick() 参数中,View v
是被点击的 View 。所以你也可以用它来获取短信文本。喜欢
TextView tv = (TextView)v;
String message = tv.gettext();
关于android 成功发送 textview 的文本作为短信但在其他模拟器上收到无效字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7204146/