在下面的代码中我试图有一个文本框和一个用户输入文本的按钮,按下按钮我只是将短信发送到硬编码的值,但我没有得到任何例外,我已经包括权限。但是,当我发送短信时,应用程序关闭错误日志doest有任何东西,我在真正的设备而不是模拟器上尝试这个。任何机构都知道这可能是什么问题
<uses-permission android:name="android.permission.SEND_SMS"/>
try {
EditText et =(EditText) findViewById(R.id.editText1);
final String smstext =et.getText().toString().trim();
sms.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (smstext != "" || smstext != null)
{
SmsManager smsmgr=SmsManager.getDefault();
smsmgr.sendTextMessage("+xxxxxxxx", null, smstext , null , null);
}
else
{
Toast.makeText(getApplicationContext(),"Enter Message", Toast.LENGTH_SHORT).show();
}
}
});
}
catch (Exception e)
{
Toast.makeText(getApplicationContext(),"Send SMS error: "+ e, Toast.LENGTH_SHORT).show();
}
main.xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="fill_parent">
<EditText android:id="@+id/editText1" android:layout_width="fill_parent" android:layout_height="wrap_content">
<requestFocus></requestFocus>
</EditText>
<Button android:text="Send SMS" android:id="@+id/sms" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
<Button android:text="Back" android:id="@+id/back1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
答案 0 :(得分:1)
为了获得结果sendTextMessage()的一些反馈,你应该在函数的第5个参数上传递PendingIntent对象。
快速在线搜索带来了本教程:SMS Messaging in Android
修改:我重新检查了您粘贴的代码,并且还应该在et
方法中移动smstext
和onClick
的定义。< / p>