5.4
//初始化 et_main_num.findViewById(R.id.et_main_num); et_main_sms.findViewById(R.id.et_main_sms); btn_main_call.findViewById(R.id.btn_main_call); btn_main_send.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); } //点击 private OnClickListener onClickListener=new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (v==btn_main_call) { // Toast.makeText(MainActivity.this, "点击打电话", Toast.LENGTH_SHORT).show(); //1.创建一个intent(隐士对象) // Displayed com.android.dialer/com.android.incallui.InCallActivity: +10s453ms (total +19s211ms)
String action="android.intent.action.DIAL"; Intent intent = new Intent(action); //2.携带数据 String number = et_main_num.getText().toString().trim(); //intent.putExtra(name, value); intent.setData(Uri.parse("tel:"+number)); //3.启动拨号界面 startActivity(intent); }else if(v==btn_main_send){ //Toast.makeText(MainActivity.this, "点击发信息", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(Intent.ACTION_SENDTO); //携带数据 String number = et_main_num.getText().toString().trim(); String sms = et_main_sms.getText().toString().trim(); intent.setData(Uri.parse("smsto:"+number)); intent.putExtra("sms_body", sms); //启动短信界面 startActivity(intent); } } }; //长按 @Override public boolean onLongClick(View v) { // TODO Auto-generated method stub if (v==btn_main_call) { // Toast.makeText(MainActivity.this, "长按打电话", Toast.LENGTH_SHORT).show(); //android.intent.action.CALL //创建一个intent隐士对象 Intent intent = new Intent(Intent.ACTION_CALL); //2携带数据 String number = et_main_num.getText().toString().trim(); intent.setData(Uri.parse("tel:"+ number)); //3启动打电话界面 startActivity(intent); }else if(v==btn_main_send){ //Toast.makeText(MainActivity.this, "长按发信息", Toast.LENGTH_SHORT).show(); //1.得到smsmanager对象 SmsManager smsManager=SmsManager.getDefault(); //2.发送文本信息 String number = et_main_num.getText().toString().trim(); String sms = et_main_sms.getText().toString().trim(); smsManager.sendTextMessage(number, null, sms, null, null); } return true;//表示此事件已经被消费了,不会再触发点击事件 }
<!-- 打电话的权限 -->
<uses-permission android:name="android.permission.CALL_PHONE"/>
<!-- 发短信的权限 -->
<uses-permission android:name="android.permission.SEND_SMS"/>