首先实现如下UI:

需要用到的字符串在res/values/strings.xml中定义

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">电话拨号器</string>
    <string name="action_settings">Settings</string>
    <string name="label">请输入电话号码</string>
    <string name="call_label">拨打</string>
</resources>

UI在res/layout/activity_main.xml中定义

<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/label" />
    
    <EditText 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:id="@+id/telNum"/>
    
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/call_label"
        android:id="@+id/caller"/>

</LinearLayout>

然后在MainActivity.java文件中获取输入的号码,并进行拨号:

......

public class MainActivity extends Activity { private EditText telNumView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); telNumView = (EditText) this.findViewById(R.id.telNum); Button callerBtn = (Button) this.findViewById(R.id.caller); callerBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String telNum = telNumView.getText().toString(); Intent intent = new Intent(); intent.setAction("android.intent.action.CALL"); intent.setData(Uri.parse("tel:" + telNum)); startActivity(intent); //方法内部会自动添加类别,android.intent.category.DEFAULT } }); } }

因为拨号是要钱的,肯定是需要权限的,所以要在清单文件AndroidManifest.xml中配置拨号权限:

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

然后就可以运行项目进行测试了。

 

 

posted on 2014-03-08 14:02  寒岁青松  阅读(94)  评论(0)    收藏  举报