Android系统原本就为手机设计,所以,在android系统中的不论什么App中,仅仅要愿意,拨打指定电话很方便。
核心就是使用Intent跳转,指定请求Action为Intent.ACTION_CALL 就可以。
【源代码下载】 http://www.code4apk.com/android-code/178
核心代码例如以下:
1 | Intent new Intent(Intent.ACTION_CALL,Uri.parse( "tel:13888888888" ); |
以下一起来实现这个功能:
第1步:新建一个activity :DialerAndMsgActivity
package com.android.dev; 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; public class DialerAndMsgActivity extends Activity {
private Button dialerButton;
private EditText editTextPhoneNum; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); dialerButton = (Button) findViewById(R.id.Button_Dialer);
editTextPhoneNum = (EditText) findViewById(R.id.EditText_PhoneNum); dialerButton.setOnClickListener(new View.OnClickListener(){ public void onClick(View arg0) {
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+
editTextPhoneNum.getText()));
DialerAndMsgActivity.this.startActivity(intent);
} });
}
}
第2步:改动配置文件: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:id="@+id/TextView_Phone"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/tell_tile" /> <EditText android:id="@+id/EditText_PhoneNum"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Button android:id="@+id/Button_Dialer"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="@string/button_call"/>
</LinearLayout>
第3步:在配置文件AndroidManifest.xml中加入拨号支持
1 | < uses-permission android:name = "android.permission.CALL_PHONE" ></ uses-permission > |
第4步调试执行:
android拨打电话
android拨打电话