首先实现如下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"/>
然后就可以运行项目进行测试了。
浙公网安备 33010602011771号