Android模拟手机拨号器

转载 2012年03月21日 11:06:08
一直以来对手机之间的通话都很好奇,拨打号码就能实现两个手机连同,今天就可以实现这个小功能,不然还怎么说自己是研究Android的手机的呢?


      Android的手机模拟器自带有拨号功能,我们先试试自带的拨号功能。我们启动两个Android 2.3.3版本的模拟器。你有没有注意每个模拟器左上角有一个这样的,只不过数字不同,这究竟是什么含义呢?每个模拟器将会被绑定到“192.168.1.1”这个本地IP上,而后面的“5556”则是他的端口号,所以这个模拟器的唯一标识地是:“192.168.1.1:5556”,所以,这个端口号可以当作是我们的手机号。只要明白了这个,就不会困惑“没有手机号怎么拨打呢?”


      打开手机号是“5554”的模拟器,输入“手机号”5556,点击“拨打键”,两个手机则实现通话了:


 


     下面我们自己开发自己的手机拨号器。


     ●新建Android开发工程


    新建项目HTCMobile,选择Android 的版本是2.3.3,项目结构如下所示:




     ●编写strings.xml文件


  1. <?xml version="1.0"encoding="utf-8"?>  
  2. <resources>  
  3.    
  4.     <string name="hello">Hello World,HTCMobileActivity!</string>  
  5.     <string name="app_name">HTC拨号器</string>  
  6.     <string name="mobile_name" >请输入手机号</string>  
  7.     <string name="call">拨打此号</string>  
  8. </resources>  
  9. 这个文件主要用来定义字符串和数值  
  10. ●编写main.xml文件  
  11. 在项目的res/layout目录下找到此文件  
  12. <?xml version="1.0"encoding="utf-8"?>  
  13. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  14.     android:layout_width="fill_parent"  
  15.     android:layout_height="fill_parent"  
  16.     android:orientation="vertical" >  
  17.    
  18.   <TextView  
  19.        android:layout_width="fill_parent"  
  20.        android:layout_height="wrap_content"  
  21.        android:text="@string/mobile_name" />  
  22.    
  23.     <EditText   
  24.         android:id="@+id/phoneNo"  
  25.          android:layout_width="fill_parent"  
  26.        android:layout_height="wrap_content"  
  27.         />  
  28.    
  29.     <Button  
  30.         android:id="@+id/cllPhone"  
  31.         android:layout_width="wrap_content"  
  32.         android:layout_height="wrap_content"  
  33.         android:text="@string/call"/>  
  34.    
  35. </LinearLayout>  


      此文件主要设置布局文件,类似于我们的html页面文件,在eclipse中我们可以点击文件编辑区的“Graphical Layout”预览效果:




     ●编写HTCMobileMobileActivity.java文件


  1. packagecom.sinosoft;  
  2.    
  3. importandroid.app.Activity;  
  4. importandroid.content.Intent;  
  5. importandroid.net.Uri;  
  6. importandroid.os.Bundle;  
  7. importandroid.view.View;  
  8. importandroid.widget.Button;  
  9. import android.widget.EditText;  
  10.    
  11. publicclass HTCMobileActivity extends Activity {  
  12.     /** Called when the activity is firstcreated. */  
  13.     @Override  
  14.     public void onCreate(BundlesavedInstanceState) {  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.main);  
  17.         super.onCreate(savedInstanceState);  
  18.         setContentView(R.layout.main);  
  19.         Button button=(Button)findViewById(R.id.cllPhone);  
  20.         button.setOnClickListener(newView.OnClickListener() {  
  21.                              
  22.                             public void onClick(Viewv) {  
  23.                                      // TODOAuto-generated method stub  
  24.                                       
  25.                                      EditTextphonenoTest=(EditText) findViewById(R.id.phoneNo);  //获得文本框对象  
  26.                                      Stringphoneno=phonenoTest.getText().toString(); //获得输入的手机号码  
  27.                                      if((phoneno!=null)&&(!"".equals(phoneno.trim()))){  
  28.                                               Intent intent=newIntent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneno));  //tel:前缀不要写错,用于创建一个拨打电话的意图  
  29.                                                startActivity(intent);//发送意图  
  30.                                      }  
  31.                             }  
  32.                    });  
  33.     }  
  34. }  
  35.    


     具体解释详见注释

 

      ●申请拨号权限


      由于我们是拨打手机系统中的拨号器,因此我们要申请拨打电话的权利,修改AndroidManiFest.xml文件,加入一句:

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

即可,如下所示:


  1. <?xml version="1.0"encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="com.sinosoft"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  
  6.    
  7.     <uses-sdk android:minSdkVersion="10"/>  
  8.     <uses-permission android:name="android.permission.CALL_PHONE" />  
  9.      
  10.     <application  
  11.        android:icon="@drawable/ic_launcher"  
  12.        android:label="@string/app_name" >  
  13.         <activity  
  14.            android:name=".HTCMobileActivity"  
  15.            android:label="@string/app_name" >  
  16.             <intent-filter>  
  17.                 <action android:name="android.intent.action.MAIN" />  
  18.    
  19.                 <category android:name="android.intent.category.LAUNCHER" />  
  20.             </intent-filter>  
  21.         </activity>  
  22.     </application>  
  23.    
  24. </manifest>  


 

     好了,准备工作做完了,开始运行项目,在模拟器里输入另一个模拟器的“手机号码”




     点击“拨打此号”按钮时,就会出现用自带拨号器拨打电话的那一幕!


     这是本人学习的结果,欢迎转载,欢迎交流,但转载务必给出本文章的链接地址:http://blog.csdn.net/youqishini/article/details/7366375,谢谢~


安卓手机PPPOE拨号软件

  • 2013年05月11日 13:26
  • 528KB
  • 下载

设置Android模拟器上网的方法

很多网友也问到为啥自己在家的PC机可以上网,而运行在PC机上面的android模拟器却不能上网呢?是因为家里的PC机的DNS一般为: 192.168.1.1,这个只是一般而言,不是绝对,这个得自己使...
  • a352193394
  • a352193394
  • 2012年05月05日 21:05
  • 9216

Android拨号器的实现

Android自带了拨号功能和拨号器,但是在很多的应用中,需要在自己的应用中集成拨号的功能,方便客户直接点击 就可以完成打电话,所以这样的调用Android拨号器的功能还是非常有实用价值的,下面我们...
  • a352193394
  • a352193394
  • 2012年05月06日 15:26
  • 12204

利用android模拟器模拟任意号码来电

方法一:DDMS 打开DDMS窗口,选中目标模拟器,点击emulator control的tab页,在voice栏输入号码。即可向模拟器打电话 方法二:Telnet 首先需要打开电脑上的teln...
  • u010037124
  • u010037124
  • 2014年08月10日 12:17
  • 1407

Android之制作简单的拨号器

首先,先要做拨号器的布局。 1.新建一个项目,先修改layout文件下的activity_main.xml文件 2.代码如下: ...
  • lxjstudyIT
  • lxjstudyIT
  • 2016年07月10日 23:03
  • 473

【Android 初学者】写一个简单的 拨号 apk

Android初学者,用studio 写一个简单的 一键 拨号 项目
  • ssh159
  • ssh159
  • 2016年11月19日 22:57
  • 1564

android虚拟机拨号程序的实现

首先打开eclipse新建一个android 项目,选择版本,我选的是2.3.3版本,项目名为Phone类名为PhoneActivity,所属包名为                    cn.csd...
  • zl260272
  • zl260272
  • 2011年12月06日 16:40
  • 657

Java实现的手机拨号程序

  • 2010年06月02日 21:22
  • 14KB
  • 下载

java电话虚拟拨号课程设计源代码及报告

  • 2013年01月09日 10:52
  • 6.58MB
  • 下载

Android模拟手机拨号器

一直以来对手机之间的通话都很好奇,拨打号码就能实现两个手机连同,今天就可以实现这个小功能,不然还怎么说自己是研究Android的手机的呢?       Android的手机模拟器自带有拨号功...
  • guozh
  • guozh
  • 2012年03月21日 11:06
  • 11945
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android模拟手机拨号器
举报原因:
原因补充:

(最多只允许输入30个字)