package mars.com;
import java.util.List;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class TelephoneCallActivity extends Activity {
private Button call;
private EditText input;
private EditText message;
private Button sendMsg;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
call = (Button) findViewById(R.id.call);
input = (EditText) findViewById(R.id.input);
message = (EditText) findViewById(R.id.message);
sendMsg = (Button) findViewById(R.id.sendmsg);
sendMsg.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String str = message.getText().toString();
if (str == null) {
Toast.makeText(TelephoneCallActivity.this, "没有输入电话号码",
Toast.LENGTH_SHORT).show();
return;
}
SmsManager sm = SmsManager.getDefault();
List<String> texts = sm.divideMessage(str);
for (String string : texts) {
sm.sendTextMessage(input.getText().toString(), null,
string, null, null);
}
// ******另外一种发送短信
/*String strNo = input.getText().toString();
String strContent = message.getText().toString();
SmsManager smsManager = SmsManager.getDefault();
PendingIntent sentIntent = PendingIntent.getBroadcast(
TelephoneCallActivity.this, 0, new Intent(), 0);
// 如果字数超过30,需拆分成多条短信发送
if (strContent.length() > 30) {
List<String> msgs = smsManager.divideMessage(strContent);
for (String msg : msgs) {
smsManager.sendTextMessage(strNo, null, msg,
sentIntent, null);
}
} else {
smsManager.sendTextMessage(strNo, null, strContent,
sentIntent, null);
}
Toast.makeText(TelephoneCallActivity.this, "短信发送完成",
Toast.LENGTH_LONG).show();*/
}
});
call.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String str = input.getText().toString();
if (str == null) {
Toast.makeText(TelephoneCallActivity.this, "没有输入电话",
Toast.LENGTH_SHORT).show();
return;
}
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"
+ str));
startActivity(intent);
}
});
}
}
xml文件如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/a1" />
<EditText
android:id="@+id/input"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:digits="1234567890"
android:inputType="text"
android:numeric="integer"
android:phoneNumber="true" />
<Button
android:id="@+id/call"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/call" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/a2" />
<EditText
android:id="@+id/message"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text" />
<Button
android:id="@+id/sendmsg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/msg" />
</LinearLayout>
别忘了添加权限呀,
manifest文件中的内容如下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="mars.com"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".TelephoneCallActivity"
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>
</manifest>