当前位置: 首页 > news >正文

Android实例-拨打电话

(1)项目结构如下:


(2)MainActivity.java

package com.example.phonecall;

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

public class MainActivity extends Activity {

	private Button button;
	private EditText editText;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button = (Button) this.findViewById(R.id.button1);
		editText = (EditText) this.findViewById(R.id.editText1);
		button.setOnClickListener(new ButtonClickListener());
	}

	private final class ButtonClickListener implements View.OnClickListener {

		@Override
		public void onClick(View v) {
			String number = editText.getText().toString();

			Intent intent = new Intent();
			/*
			 * 拨号的话要在清单文件中添加拨号权限
			 */
			intent.setAction("android.intent.action.CALL");
			intent.addCategory("android.intent.category.DEFAULT");
			intent.setData(Uri.parse("tel:" + number));

			startActivity(intent);
		}

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

(3)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="请输入你的手机号" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="拨号" />

</LinearLayout>


清单文件中加入权限:

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



相关文章:

  • 博弈SG函数
  • Android实例-发送信息
  • 利用jQuery实现鼠标滑过整行变色
  • Android项目之无线点餐(1)--点餐系统数据库设计
  • HDU 4757 Tree 可持久化字典树
  • Android项目之无线点餐(2)--用户登录的客户端和服务器端实现
  • 千变万化的ViewPager切换动画(1)--仅支持3.0以上版本的官方方法
  • Canopy聚类算法与Mahout中的实现
  • Android基础学习—下载并在Eclipse中关联Android源码
  • 【html】【11】函数名称约束规范
  • 千变万化的ViewPager切换动画(2)--自定义ViewPager的实现方法
  • 二叉树习题之重建二叉树
  • WebView的简单入门
  • 持续集成
  • Android开发Eclipse连接真机
  • CSS 专业技巧
  • Js基础——数据类型之Null和Undefined
  • Linux CTF 逆向入门
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • Promise面试题2实现异步串行执行
  • SpringCloud集成分布式事务LCN (一)
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 百度地图API标注+时间轴组件
  • 初识 webpack
  • 规范化安全开发 KOA 手脚架
  • 前端代码风格自动化系列(二)之Commitlint
  • 一些关于Rust在2019年的思考
  • AI算硅基生命吗,为什么?
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • #android不同版本废弃api,新api。
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • ${factoryList }后面有空格不影响
  • (52)只出现一次的数字III
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (免费分享)基于springboot,vue疗养中心管理系统
  • ... 是什么 ?... 有什么用处?
  • .gitignore文件_Git:.gitignore
  • .net 7 上传文件踩坑
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET 命令行参数包含应用程序路径吗?
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .net打印*三角形
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • .net中的Queue和Stack
  • .sh
  • /etc/shadow字段详解
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • [] 与 [[]], -gt 与 > 的比较
  • [100天算法】-x 的平方根(day 61)
  • [Assignment] C++1
  • [BZOJ] 2427: [HAOI2010]软件安装