Android电话拨号器
程序员文章站
2022-06-10 17:47:39
...
转载:
一、电话拨号器
以下案例模拟android电话拨号器的实现
AndroidManifest.xml清单列表
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ljq.phone"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
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>
<uses-sdk android:minSdkVersion="7"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
</manifest>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ljq.phone"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
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>
<uses-sdk android:minSdkVersion="7"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
</manifest>
main.xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="请输入电话号码"/>
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/phone"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拔打此号码"
android:id="@+id/button"/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="请输入电话号码"/>
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/phone"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拔打此号码"
android:id="@+id/button"/>
</LinearLayout>
MainActivity类
package com.ljq.phone;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
publicclass MainActivity extends Activity {
private EditText phone=null;
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
phone=(EditText)this.findViewById(R.id.phone);
Button button=(Button)this.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
publicvoid onClick(View v) {
String tel=phone.getText().toString();
//方法一, 使用Intent目的: 激活android组件
//Intent intent=new Intent();
//intent.setAction("android.intent.action.CALL");
//intent.setData(Uri.parse("tel:"+tel));
//方法二
Intent intent=new Intent("android.intent.action.CALL", Uri.parse("tel:"+tel));
//方法的内部会自动为intent对象设置类别:android.intent.category.DEFAULT
startActivity(intent);
}
});
}
}
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
publicclass MainActivity extends Activity {
private EditText phone=null;
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
phone=(EditText)this.findViewById(R.id.phone);
Button button=(Button)this.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
publicvoid onClick(View v) {
String tel=phone.getText().toString();
//方法一, 使用Intent目的: 激活android组件
//Intent intent=new Intent();
//intent.setAction("android.intent.action.CALL");
//intent.setData(Uri.parse("tel:"+tel));
//方法二
Intent intent=new Intent("android.intent.action.CALL", Uri.parse("tel:"+tel));
//方法的内部会自动为intent对象设置类别:android.intent.category.DEFAULT
startActivity(intent);
}
});
}
}
运行结果:
界面初始化
电话拨打效果
上一篇: Java设计模式之装饰者设计模式