Android自带了拨号功能和拨号器

这个是在一个视频里看到的    想写下来记录一下

下面放源代码

/hehe/res/layout/activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.hehe.MainActivity" > <!--
@+id/textView1
就理解为在R文件加一个id
-->
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="请输入手机号码"
android:textSize="19dp" /> <EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="20dp" /> <Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editText1"
android:layout_marginTop="30dp"
android:text="拨号此号码" /> </RelativeLayout>

activity_main.xml

/hehe/src/com/example/hehe/MainActivity.java

package com.example.hehe;

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.Toast; /**
* 手机 打电话的功能 主要是 意图 startActivity
*
*
*/ /**
* 这个 Activity 是第一次被启动的 activity
*
*/
public class MainActivity extends Activity { private EditText et_number; /**
* Called when the activity is starting 当 activity 启动就会执行 onCreate 方法
*
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/**
* Set the activity content from a layout resource. 设置 activity 的内容
* 内容来源于布局 加载一个布局
*
*/
setContentView(R.layout.activity_main);
// [1] 找到我们关心的控件 editText button
et_number = (EditText) findViewById(R.id.editText1); // [2] 找到按钮
Button btn_call = (Button) findViewById(R.id.button1); // [3] 给 Button 按钮设置一个点击事件
btn_call.setOnClickListener(new MyClickListener()); } private class MyClickListener implements OnClickListener {
// Called when a view has been clicked. 当按钮被点击的时候调用
public void onClick(View v) {
// [4] 获取 editText 文本内容
String number = et_number.getText().toString().trim();
if ("".equals(number)) {
/**
* context 上下文
*/
Toast.makeText(MainActivity.this, "拨打的电话号码不能为空",
Toast.LENGTH_LONG).show();
return;
} // [5] 进行拨打电话 意图 Intent
Intent intent = new Intent(); // 创建一个意图对象 打 猫 狗 代码 电话
// [5.1] 设置动作
intent.setAction(Intent.ACTION_CALL);
// [5.2] 设置要拨打是数据
/**
* uri: 统一资源标示符 自己定义的路径 想代表什么就代表说明 url: 统一资源定位符 www.baidu.com
*/
intent.setData(Uri.parse("tel:" + number)); // [6] 开启意图
startActivity(intent); } } }

MainActivity.java

里面的注释也是视频里的  感觉说的蛮好

/hehe/AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.hehe"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="19" /> <!-- 代表当前应用 -->
<!--
@ 可以理解为 R.java文件也就是 res 文件(资源文件)
android:icon="@drawable/a" res 文件 主 drawable 下的 a 图片 (换hehe的应用图片 如:打开QQ的图标)
android:label="@string/app_name" 应用程序最上面的标题
android:theme="@style/AppTheme" 主题
-->
<uses-permission android:name="android.permission.CALL_PHONE"/>
<application
android:allowBackup="true"
android:icon="@drawable/a"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!--
activity 理解为 第一次被启用的
android:name=".MainActivity" 指的是第一次启用的 MainActivity -->
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /><!-- main 主要的入口 --> <category android:name="android.intent.category.LAUNCHER" /><!-- launcher 启动 -->
</intent-filter>
</activity>
</application> </manifest>

AndroidManifest.xml

这个是资源清单文件

加一下<uses-permission android:name="android.permission.CALL_PHONE"/>权限

好,至此一个简单的Android拨号器就完成了,功能虽小,但是使用的地方还是很多的.

04-14 06:30