博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android平台打电话、发短信、发Email
阅读量:4708 次
发布时间:2019-06-10

本文共 2842 字,大约阅读时间需要 9 分钟。

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"));

转载于:https://www.cnblogs.com/crearo-ssy/archive/2012/07/03/2575173.html

你可能感兴趣的文章
Python 2.7_Second_try_爬取阳光电影网_获取电影下载地址并写入文件 20161207
查看>>
[Fiddler] 开启Fiddler抓包的时候产品报“证书错误”
查看>>
打包苦逼活
查看>>
Oracle Certified Java Programmer 经典题目分析(二)
查看>>
第二十五章补充内容 17位字段
查看>>
灰色预测
查看>>
css随笔
查看>>
基于自己封装的select下拉选择的省市区三级联动效果,兼容IE
查看>>
初识Python
查看>>
nodejs+mysql入门实例(改)
查看>>
表达式语言
查看>>
jQuery EasyUI实现关闭全部tabs
查看>>
iOS项目之WKWebView替换UIWebView相关
查看>>
Lambda表达式效率问题
查看>>
【转载】iOS 设置Launch Image 启动图片(适用iOS9)
查看>>
最快得到MYSQL两个表的差集
查看>>
UML类图关系
查看>>
清理Visual Studio打开的项目和文件、查找和最近引用组件痕迹
查看>>
正则表达式速查表
查看>>
项目开源-基于ASP.NET Core和EF Core的快速开发框架
查看>>