本文实例讲述了Android短信发送器实现方法。分享给大家供大家参考。具体如下:
这里模拟android短信发送器的实现
AndroidManifest.xml清单文件:
<?xml version=\"1.0\" encoding=\"utf-8\"?> <manifest xmlns:android=\"http://schemas.android.com/apk/res/android\" package=\"com.ljq.sms\" android:versionCode=\"1\" android:versionName=\"1.0\"> <application android:icon=\"@drawable/icon\" android:label=\"@string/app_name\"> <activity android:name=\".MainActivity\" android:label=\"@string/app_name\"> <intent-filter> <action android:name=\"android.intent.action.MAIN\" /> <category android:name=\"android.intent.category.LAUNCHER\" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion=\"7\" /> <uses-permission android:name=\"android.permission.SEND_SMS\"/> </manifest>
main.xml布局文件:
<?xml version=\"1.0\" encoding=\"utf-8\"?> <LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\" android:orientation=\"vertical\" android:layout_width=\"fill_parent\" android:layout_height=\"fill_parent\"> <RelativeLayout android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"> <TextView android:layout_width=\"115dip\" android:layout_height=\"wrap_content\" android:text=\"请输入手机号\" android:id=\"@+id/mobilelabel\" /> <EditText android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\" android:layout_toRightOf=\"@id/mobilelabel\" android:text=\"5556\" android:id=\"@+id/mobile\" /> </RelativeLayout> <TextView android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\" android:text=\"请输入短信内容\" /> <EditText android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\" android:minLines=\"3\" android:text=\"I am a teacher!\" android:id=\"@+id/content\" /> <Button android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"发送\" android:id=\"@+id/button\" /> </LinearLayout>
MainActivity类:
package com.ljq.sms;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText mobileText=null;
private EditText contentText=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mobileText=(EditText)findViewById(R.id.mobile);
contentText=(EditText)findViewById(R.id.content);
Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
String mobile=mobileText.getText().toString();
String content=contentText.getText().toString();
//取得android系统中默认的短信管理器
SmsManager manager=SmsManager.getDefault();
//如果短信内容过长时,则对短信内容进行拆分
ArrayList<String> texts=manager.divideMessage(content);
for(String text:texts){
//第一个参数:对方手机号码
//第二个参数:短信中心号码,一般设置为空
//第三个参数:短信内容
//第四个参数:sentIntent判断短信是否发送成功,如果你没有SIM卡,或者网络中断,则可以通过这个intent来判断。
//注意强调的是“发送”的动作是否成功。那么至于对于对方是否收到,另当别论
//第五个参数:当短信发送到收件人时,会收到这个deliveryIntent。即强调了“发送”后的结果
//就是说是在\"短信发送成功\"和\"对方收到此短信\"才会激活sentIntent和deliveryIntent这两个Intent。这也相当于是延迟执行了Intent
manager.sendTextMessage(mobile, null, text, null, null);
}
//Toast.makeText(getApplicationContext(), \"发送成功\", Toast.LENGTH_LONG).show();
Toast.makeText(MainActivity.this, \"发送成功\", Toast.LENGTH_LONG).show();
}
});
}
}
运行结果:
希望本文所述对大家的Android程序设计有所帮助。
本文地址:https://www.stayed.cn/item/19710
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我