Android系统原本就为手机设计,所以,在android系统中的不论什么App中,仅仅要愿意,拨打指定电话很方便。
核心就是使用Intent跳转,指定请求Action为Intent.ACTION_CALL 就可以。
【源代码下载】 http://www.code4apk.com/android-code/178
核心代码例如以下:
1
|
Intent 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步调试执行:
【源代码下载】 http://www.code4apk.com/android-code/178