Action!Call拨打电话(Intent.ACTION.CALL的使用)
新建一个继承Activity类的IntentActionCallActivity,并设置布局文件为:intentactioncall.xml。
首先在布局文件添加一个Button按钮和一个EditText组件:
<EditText android:id="@+id/intentactioncall_edit" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:id="@+id/intentactioncall_btn" style="@android:style/Widget.Button.Inset" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/callPhone" /> |
在Activity中通过按钮单击后,调用系统的拨号程序拨打输入框的号码。
package lyx.feng.third;
import lyx.feng.simpletextdemo.R; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.text.InputType; import android.text.TextUtils; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;
public class IntentActionCallActivity extends Activity implements OnClickListener { private Button btn = null; private EditText edit = null;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.intentactioncall); this.btn = (Button) super.findViewById(R.id.intentactioncall_btn); this.edit = (EditText) super.findViewById(R.id.intentactioncall_edit); // 设置输入框只能输入电话号码 this.edit.setInputType(InputType.TYPE_CLASS_PHONE); this.btn.setOnClickListener(this); }
@Override public void onClick(View v) { // 判断EditText是否为Null或者“” if (!TextUtils.isEmpty(this.edit.getText().toString())) { Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + this.edit.getText().toString())); startActivity(intent); } else { Toast.makeText(this, "请输入电话号码", Toast.LENGTH_SHORT).show(); } } }
|
最后还需要权限:
<uses-permission android:name="android.permission.CALL_PHONE" /> |