实现:单击打电话按钮进入电话界面,长按直接打电话;单击发乱短信进入短信编辑界面,长按直接发短信。
代码:MainActivity.java
package com.example.sendmessageandcall;
import android.app.Activity;
import android.content.Intent;
import android.drm.DrmStore.Action;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnLongClickListener {
private Button btn_main_call;
private Button btn_main_send;
private EditText et_main_number;
private EditText et_main_sms;
private OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if(v==btn_main_call){
//Toast.makeText(MainActivity.this, "点击打电话", 0).show();
String action=Intent.ACTION_DIAL;
Intent intent = new Intent(action);
String number=et_main_number.getText().toString();
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
}else if(v==btn_main_send){
//Toast.makeText(MainActivity.this, "点击发短信", 0).show();
Intent intent=new Intent(Intent.ACTION_SENDTO);
String number=et_main_number.getText().toString();
String sms=et_main_sms.getText().toString();
intent.setData(Uri.parse("smsto:"+number));
intent.putExtra("sms_body", sms);
startActivity(intent);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_main_number=(EditText) findViewById(R.id.et_main_number);
et_main_sms=(EditText) findViewById(R.id.et_main_sms);
btn_main_call=(Button) findViewById(R.id.btn_main_call);
btn_main_send=(Button) findViewById(R.id.btn_main_send);
btn_main_call.setOnClickListener(onClickListener);
btn_main_send.setOnClickListener(onClickListener);
btn_main_call.setOnLongClickListener(this);
btn_main_send.setOnLongClickListener(this);
}
@Override
public boolean onLongClick(View v) {
if(v==btn_main_call){
//Toast.makeText(MainActivity.this, "长按打电话", 0).show();
Intent intent=new Intent(Intent.ACTION_CALL);
String number=et_main_number.getText().toString();
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
}else if(v==btn_main_send){
//Toast.makeText(MainActivity.this, "长按发短信", 0).show();
SmsManager smsManager=SmsManager.getDefault();
String number=et_main_number.getText().toString();
String sms=et_main_sms.getText().toString();
smsManager.sendTextMessage(number, null, sms, null, null);
}
return true;
}
}
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="电话号码: " />
<EditText
android:id="@+id/et_main_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入号码" >
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="短信内容: " />
<EditText
android:id="@+id/et_main_sms"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入短信内容" >
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btn_main_call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打电话" />
<Button
android:id="@+id/btn_main_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="发短信" />
</LinearLayout>
</LinearLayout>