android 打电话、发短信源码分析

 

android体系中的应用程序层本身就集成了打电话发短信的功能

/*发短信*/

class SendMsgClickListener implements OnClickListener {

public void onClick(View v) {

//调用Android系统API发送短信

Uri uri = Uri.parse("smsto:15800001234");

Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

intent.putExtra("sms_body", "android...");

startActivity(intent);

}

}

 

/*打电话*/
class SendCallClickListener implements OnClickListener {
  public void onClick(View v) {
   //调用Android系统API打电话
   Uri uri = Uri.parse("tel:15800001234");
   Intent intent = new Intent(Intent.ACTION_CALL, uri);
   startActivity(intent);
  }
    }

 

<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS"/>

 

 上面都是调用系统的打电话和发短信的功能,那么能不能不调用系统功能而实现呢?

先看这样几个类,这是我最先看到的几个类:

TelephonyManager

SmsManager

SmsMessage

 

先了解点基础知识:GSM CDMA 属于现在我们在用的 2G网络,目前中国联通的WCDMA、中国电信的CDMA2000、中国移动的TD-SCDMA属3G网。

就科技成熟度来说WCDMA是世界各国的主流3G模式,联通的WCDMA有很强的兼容性,也就是说一旦联通开通了WCDMA我们的水货手机的3G功能就可以得到使用,TD是移动现在发展的一个网络中国自主品牌,要走的路很长,2000电信发展,也有一定基础,但不太看好,目前只有北美和韩日用这种3G模式。

 

CDMA和GSM有什么区别?

CDMA和GSM是2G通信的主流制式,从技术上来说,它们之间的区别就在于无线发送接收的制式不同,调制解调的方法不同。

  对于用户来说,它们的不同在于:

  1.通话质量。CDMA的通话质量要高于GSM,在相同环境下打电话,CDMA的杂音要比GSM小很多。

  2.手机辐射。由于CDMA采用了出色的功率控制技术,因此CDMA手机的辐射要比GSM小很多。

  3.高速数据上网。CDMA1x可以提供高达153.6kbps的上网速率,比GSMGPRS的20几k要快多了。

  资费的话实际差不多,移动的全球通和联通的新时空差不多,移动的神州行和联通的如意行差不多,移动的动感地带和联通的UP新势力差不多。再解释以下CDMA内部的分类和GSM的分类。

  GSM比较简单,先说GSM。所谓的GSM900/1800/1900是指GSM手机的工作频率,分别是中国移动支持的900MHz,1900MHz和美国常用的1900MHz。在国内用支持900MHz和1800MHz的GSM900/1800双频手机就可以了。如果要出国到美国用的,就要用支持1900MHz的三频手机了。

  CDMA800,这是CDMA的工作频率。联通的CDMA是工作在800MHz下的。CDMA2000是目前2GCDMA的升级,是一种3G的标准。与目前的2GCDMA相比,CDMA2000更是能够提供几兆bps以上的数据速度。而CDMA1x是现在联通CDMA网络所采取的技术。它指的是CDMA20001x,也就是CDMA20001x的缩写。与真正的CDMA2000相比,CDMA1x就像我刚才说的,只能支持到153.6kbps的数据速度,因此被称为是2.5G的技术,还不是真正3G的技术。

  GSM技术GSM是一种基于时分多址的第二代数字移动通信系统,最初的开发宗旨是促进欧盟内部电信服务的统一和一体化。

  1987年,13个国家的电信主管部门签署了一项谅解备忘录,在整个欧洲地区采用GSM技术,目前已被世界各地广泛商用。GSM技术将音频信号分割为一定的数据序列,按照特定间隔将一定长度的数据放入信道,在信道末端重组序列;联通运营公司的GSM网络使用在900MHz频段上,并开始在若干城市部署1800MHz频段上运行GSM系统,以扩大现有网络容量。

  联通运营公司已获准在900MHz频段上使用2x6MHz频谱,在1800MHz上使用2x10MHz频谱;CDMA技术CDMA是一种基于码分多址的第二代数字移动通信系统,它是以IS-95标准为基础的,CDMA开发组织负责协调世界范围内的CDMA的开发工作。此项标准已被包括香港、韩国、加拿大和美国在内的60多个国家和地区100多家运营商所采用。

  CDMA1X在IS-95基础上升级改造,系统性能大为增强。与IS-95相比,CDMA1X具有数据传输速率高(最高速率可达153.6Kbps)的明显优势,可向用户提供移动互联网等多媒体业务。同时CDMA1X还具有系统容量大、与IS-95后向兼容、向3G平滑过渡等优势。目前已经在美国、日本和韩国拥有大量用户。

  1999年3月,国务院批准联通集团采用CDMA技术建设运营移动通信网络。联通运营公司已获准在800MHz频段上使用2x10MHz频谱。

 

 

 

又仔细看了看,原来和打电话和发短信相关的几个包有这样几个,看下这几个包中的类:

android.telephony

android.telephony.cdma

android.telephony.gsm

 

 

这里有一篇分析的,暂留,我觉得他写的不是很清楚,不过有参考价值。

http://wuhua.iteye.com/blog/300264

 

 

 未完,待续。。。

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值