Mono for Android—初体验之“电话拨号器”

时间:2024-04-13 13:36:01

1、Main.axml文件:

<?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">
    <EditText
        android:inputType="phone"
        android:layout_width="match_parent"   //填充父控件大小
        android:layout_height="wrap_content"  //根据内容自动拉伸
        android:id="@+id/etphoneNum" />
    <Button
        android:text="Button"
        android:layout_width="100.0dp"  //dp,与密度无关的像素,一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp="1px";
        android:layout_height="wrap_content"
        android:id="@+id/btnSend"
        android:layout_marginRight="0.0dp" />
</LinearLayout>

2、Activity1.cs文件:

namespace AndroidDemo {

/// <summary>

/// 标签AndroidDemo将出现在Android应用程序窗口中;MainLauncher批注,其表明了Activity是应用程序的主要启动对象;Icon是程序图标

/// </summary>

[Activity(Label = "电话拨号器", MainLauncher = true, Icon = "@drawable/icon")]

public class Activity1 : Activity  //activity活动,一个“活动”就是一个用来完成单个任务有的用户界面组件

{

EditText etphoneNum;

Button btnSend;

protected override void OnCreate(Bundle bundle)

{

base.OnCreate(bundle);//初始化资源包

// Set our view from the "main" layout resource

SetContentView(Resource.Layout.Main);//加载视图

btnSend = this.FindViewById<Button>(Resource.Id.btnSend);

etphoneNum = this.FindViewById<EditText>(Resource.Id.etphoneNum);

btnSend.Click += btnSend_Click;

}

void btnSend_Click(object sender, EventArgs e)

{

string phoneNum = etphoneNum.Text.Trim();

if (phoneNum.Length == 0)

{

Toast.MakeText(this, "请输入手机号", ToastLength.Long).Show();

return;

}

//Intent myIntent = new Intent();//创建一个意图

//myIntent.SetAction(Intent.ActionCall);//设置行为是“打电话”

//myIntent.SetData(Android.Net.Uri.Parse("tel:"+phoneNum));//设置数据,数据即为电话号码,注意格式:tel:123456***

var myIntent = new Intent(Intent.ActionCall,Android.Net.Uri.Parse("tel:"+phoneNum));

StartActivity(myIntent);//开始活动

}

}

}

3、最后,别忘设置权限,只有拥用CALL_PHONE权限才能实现拨打电话

可以右击“项目”,选择“属性”,即可打开Android Manifest清单,在Required permissions下选择“CALL_PHONE”即可。

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