Android--入门---9---(android 拨号器----调用系统自带的拨号Acitivity)

原创 2012年03月23日 22:23:51

1.用户的权限:保护用户的隐私信息

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

代码如下:

清单文件:AndroidManifest.xml

源码:DialActivity.java

字符串文件:String.xml

布局文件:dial.xml

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hisoft.qyq"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="7" />

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

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".DialActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

------------------------------------------------------------------------------------------------------------------------------------

  DialActivity.java

package com.hisoft.qyq;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class DialActivity extends Activity {
    private Button btn_dial;
    private EditText edt_mobile;
    private TextView txv_mobile;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dial);
        init_component();
    }

    public void init_component() {
        btn_dial = (Button) this.findViewById(R.id.btn_dial);

   //        btn_dial.setOnClickListener(new ButtonOnclickListener());//使用内部类进行按钮监听的注册
        btn_dial.setOnClickListener(new OnClickListener() {//使用匿名内部类,当代码较多时,很难看懂,建议使用ButtonOnclickListener内部类
            
            @Override
            public void onClick(View v) {
                String num = edt_mobile.getText().toString();
                Intent intent = new Intent();
                intent.setAction("android.intent.action.CALL");//调用android自带的拨号Activity
                intent.addCategory("android.intent.category.DEFAULT");
                intent.setData(Uri.parse("tel:"+num));
                startActivity(intent);//启动系统中的任何Acitivity
                
            }
        });
        edt_mobile = (EditText) this.findViewById(R.id.edt_mobile);
        txv_mobile = (TextView) this.findViewById(R.id.txv_mobile);//通过此方法获得布局文件中的控件(但是在布局文件中必须声明控件ID,以供查找)
    }

       
   
     class ButtonOnclickListener implements OnClickListener{

    //
    //        @Override
    //        public void onClick(View v) {
    //            String num = edt_mobile.getText().toString();
    //            Intent intent = new Intent();
    //            intent.setAction("android.intent.action.CALL");
    //            intent.addCategory("android.intent.category.DEFAULT");
    //                intent.setData(Uri.parse("tel:"+num));
    //                startActivity(intent);
    //        }
    //        
    //    }
}

------------------------------------------------------------------------------------------------------------------------------------

  dial.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
         android:id="@+id/txv_mobile"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/the_number" />

    <EditText
        android:id="@+id/edt_mobile"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="@string/the_number" />

    <Button
        android:id="@+id/btn_dial"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/dial" /><--次表达式表示使用在String中定义的字符串常量-->

</LinearLayout>

------------------------------------------------------------------------------------------------------------------------------------

  String.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Dial</string>
    <string name="the_number">电话号码</string>
    <string name="dial">拨号</string>

</resources>

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

验证此应用的方法:

1.start 两个  avd  5554  &   5556

2.将应用运行于5554中

3.在EditText中输入5556即可实现:5554拨通至5556

Android中使用广播接收者实现IP拨号

布局文件中定义一下UI,虽然没什么UI.....
  • ibey0nd
  • ibey0nd
  • 2014年08月02日 12:02
  • 1280

<安卓那点事>写一个简单的电话拨号器

整个过程也是在不断的学习,在初步入门,跟着学习了一个简单的电话拨号器,比较能够了解activity是软件的门面,而且按钮是从一个动作或者界面或者activity到达另一个的方法,以及接触了监听组件的动...
  • woyouyigehaohao
  • woyouyigehaohao
  • 2016年01月14日 09:30
  • 1394

Android 7.0拨号流程分析

拨号主界面为DialtactsActivity,当用户点击拨号键盘按钮(DialtactsActivity的floating_action_button),弹出拨号盘,输入完电话号码,再点击拨号按钮,...
  • xiaoxsen
  • xiaoxsen
  • 2017年06月29日 12:46
  • 2603

【android】调用系统拨号器进行拨号

MainActivity.javaimport android.content.Intent; import android.net.Uri; import android.os.Bundle; im...
  • u013284706
  • u013284706
  • 2017年07月09日 17:22
  • 100

怎么实现调用手机系统拨号和呼叫程序

Permission     在Android系统中,敏感操作(涉及隐私的,安全的,可能产生费用的)都需要申请相应的权限,且当应用程序被安装到设备上之前,会列举当前应用程序所申请的权限,用户可以选择继...
  • q394895302
  • q394895302
  • 2015年12月31日 13:35
  • 1148

在Android4.0中Contacts拨号盘界面剖析(源码)

原文地址:http://blog.sina.com.cn/s/blog_9f233c070101b2u1.html   上文已经说过拨号界面的分页是怎么实现的,下面我们分三次来分享拨号页面...
  • hsyouxishe
  • hsyouxishe
  • 2013年07月10日 14:01
  • 3825

第72章、再识Intent-调用拨号程序(从零开始学Android)

我们可以通过设置ACTION_CALL或者ACTION_DIAL完成在Android中进行电话拨号。   二者区别在于:   (1)ACTION_CALL:直接拨号;   (2)ACTION_D...
  • jianghuiquan
  • jianghuiquan
  • 2013年03月07日 13:37
  • 10257

android调用系统自带应用--如拨号

今天看了这方面的视频,视频里的老师是通过看拨号软件源码的方式得到切换的方式,觉得很不靠谱,所以后来去网上搜了下,发现在doc里有这方面的说明:/sdk/docs/guide/appendix/g-ap...
  • sxf20778
  • sxf20778
  • 2013年05月19日 22:46
  • 819

Android电话拨号UI分析

界面加载过程 DialtactsActivity.java protected void onCreate(Bundle icicle) { this.setTheme(R.style.Dialta...
  • yangwen123
  • yangwen123
  • 2013年08月06日 09:23
  • 7081

Android多媒体学习五:调用Android自带的播放器播放Audio

Android有其自带的播放器,我们可以使用隐式Intent来调用它:通过传入一个Action为ACTION_VIEW同时,指定Data为所要播放的Audio的Uri对象,并指定格式信息,则我们就可以...
  • luohai859
  • luohai859
  • 2014年09月18日 16:35
  • 1212
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android--入门---9---(android 拨号器----调用系统自带的拨号Acitivity)
举报原因:
原因补充:

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