1.打电话:要注意两个方面,一个是要在AndroidManifest中添加uses-permission,并声明android:name="Android.permission.CALL_PHONE"。其次通过自定义Intent对象,带入"ACTION_CALL"这个关键值,以及通过Uri.parse()的方法将用户输入的电话号码带入,最后以startActivity()方法将自定义的Intent传入。如果想使用虚拟键盘来拨打电话,只需要在自定义Intent时将Action.CALL改为Action.DIAL即可。
Intent intent=new Intent("android.intent.action.CALL",Uri.parse("tel:"+telephoneId));//自定义的Intent
startActivity(intent);
我们在这里还可以检查一下输入电话号码的格式是否正确:用Pattern和Matcher类:
Pattern pattern=Pattern.compile(expression);
Matcher matcher=pattern.matcher(telephoneId);
matcher.matchers()//判断是否匹配
2.发短信:发送短信是GSM移动通信系统的服务中常用功能之一。发送短信的关键程序是通过SmsManager对象的sendTextmessage方法来完成,其中sendTextMessage()方法需要传入五个值,依次是收件人地址String,发送地址String,正文String,发送服务PendingIntent与送达服务PendingIntent,并且注意收件人与正文是不可为NUll的两个参数。
SmsManager smsmanager=SmsManager.getDefault();处理SMS短信相关的活动,例如发送数据、文字、与pduSMS信息,需要调用这一静态的方法。
PendingIntent mpI=PendingIntent.getBroadcast(***.this,0,new Intent,0);构建PendingIntent对象。
smsManager.sendTextMessage(destaddress,null,message,mpI,null);//发送短信
注意的是要添加用户发送短信的权限,android:name="android.permission.SEND_SMS"
3.发送Email—Intent在Email上的使用:构造一个自定义的Intent(Android.content.Intent.ACTION_SEND),作为传送Email的Activity之用,在该Intent中,还必须使用settype()来决定email的格式,使用putExtra()来直入寄件人(EXTRA_EMAIL)、主题(EXTRA_SUBJECT)、邮件内容(EXTRA_TEXT)、以及其他Email的字段(EXTRA_CC,EXTRA_BCC)。
相关代码如下:Intent emailIntent=new Intent(android.content.Intent.ACTION_SEND);//通过Intent来发送邮件
emailIntent.setType("plain/text");//设置邮件格式为plain/text
/*将收件人地址、附件、主旨、正文放入emailIntent中*/
emailIntent.putExtra(android..content.Intent.EXTRA_EMAIL,strEmailReciver);
emailIntent.putExtra(android..content.Intent.EXTRA_CC,stremailCc);
emailIntent.putExtra(android..content.Intent.EXTRA_SUBJECT,strEmailSubject);
emailIntent.putExtra(android..content.Intent.EXTRA_TEXT,strEmailBody);
/*打开Gmail并将相关参数传入*/
/*Gmail程序是收发Email的程序,是Android手机内置的*/
startActivity(Intent.createChooser(emialIntent,getResources().getString(R.string.str_message)));
以上知识发送Email的一种,在android中还有许多发送Email的写法。方法一:
Uri uri=Uri.parse();
Intent emailIntent=new Intent(Intent.ACTION_SENDTO,uri);
startActivity(emailIntent);
方法二: Intent emailIntent=new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL,"me@abc.com")
emailIntent.putExtra(Intent.EXTRA_CC,);
emialIntent.putExtra(Intent.EXTRA_TEXT,"the email body text");
emailIntent.putExtra(Intent.EXTRA_SUBJECT,"the email subject text");
emailIntent.setType("message/rfc822");
startActivity(Intent.createChooser(emailIntent,"your client"));
我们往往发邮件希望传送附有文件的email.此时在自定义的Intent的setType事件上,以"plain/text"作为传入的参数,就不可行了,代码参考如下:
Intent intent=new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA-SUBJECT,"邮件标题");
intent.putExtra(Intent.EXTRA_STREAM,file:///sdcard/foo.mp3);
intent.setType("audio/mp3");
startActivity(Intent.createChooser(intent,"your client"));