您的位置:首页 > 移动开发 > Android开发

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

2012-03-23 22:23 549 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: