资料视频可参考传智播客 打电话视频
一:布局文件先设计拨号器的简单界面,可以先用画图软件构思 界面
二 :Activity中进行获取EditText中的电话号码,然后点击,使用Intent(意图)进行实现打电话的功能
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ mobile));
三:注意必须在AndroidManifset,xml文件进行打电话的权限设置
核心源代码 (包自己去引)
public class PhoneDuanXINActivity extends Activity { private EditText mobileText; //在这里写个成员变量,就可以直接调用 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mobileText = (EditText)this.findViewById(R.id.mobile); //调用成员变量mobileText 强转给右边 // 使用匿名类进行加监听 Button button = (Button)this.findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ String mobile = mobileText.getText().toString(); //得到了用户输入的手机号 Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ mobile )); //意图 Intent(行为, 行为数据) intent类用于描述一个应用将会做什么事 在windos中就有种东西 开始菜单》》运行》》 http://www.baidu.com 它可以直接打开,这是为什么? 是因为浏览器 认出了http: startActivity(intent); //这就是内部类访问外部类的实例 } }); } }
strings.xml
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/mobile" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id = "@+id/mobile" /> <Button android:layout_width ="wrap_content" android:layout_height="wrap_content" android:text = "@string/button" android:id = "@+id/button" />
如图所示这三个控件是垂直摆放的,所以要使用线性布局来搁置显示控件
效果图:
</LinearLayout>
这里其实最重要的就要属权限设置,打电话权限, 还有理解 intent 意图 (行为,行为数据)的用法