(3)重新生成项目,确保无错误。
注:drawable文件夹下的Icon.png是要显示的图标,也可将其换为其他图标文件。
(4)选择主菜单下该项目的属性,在弹出的窗口中,勾选【CALL PHONE】权限:

注:
(1)这一步必须做,否则因该App无拨号权限,拨号功能会失败。
(2)设置后,查看Properties文件夹下AndroidManifest.xml文件中自动添加的代码,理解权限设置的作用。
4、调试运行及代码片段解释
选择一种模拟器,然后按<F5>键调试运行。
注意:如果使用低于API 23的模拟器,必须设置项目属性(主菜单à项目属性),使用对应版本的API来编译应用程序,否则在模拟器上运行时可能会出现应用程序一闪就退出或者显示“应用程序已停止运行”的情况。
下面解释前面已经实现的代码片段的含义:
(1)如何显示Alert对话框
AlertDialog的详细用法见【第6章 UI设计(三)--对话框】。
(2)如何拨号
下面的代码演示了如何调用系统功能实现拨号:
var callIntent = new Intent(Intent.ActionCall);
callIntent.SetData(Android.Net.Uri.Parse("tel:" + translatedNumber));
StartActivity(callIntent);
注意:运行前需要先勾选【CALL PHONE】设置允许拨号权限,否则运行会出现异常:

5、创建第2个屏幕跟踪历史记录
(1)打开values文件夹下的Strings.xml文件,添加下面的代码:
<?xml version="1.0" encoding="utf-8"?> <resources> …… <string name="CallHistory">拨号记录</string> </resources>
(2)单击【解决方案资源管理器】上方的“刷新”按钮,或者重新生成项目。
注:选择其中之一即可,目的是为了让C#代码能识别它。
(3)打开Main.axml,从【工具箱】中拖放一个【Button】到Main.axml设计界面,将其放到上一个按钮的下方,修改属性:
id:@+id/buttonCallHistory
text:@string/CallHistory
enabled:false
注: @string/CallHistory的含义是在values文件夹下的Strings.xml文件中提供该变量的值。
此时,可看到“STRING/CALLHISTORY”会自动变成“拨号记录”。
说明:这一步设置变量值的做法是实际的Android App项目中建议的做法,这样做的好处是能提高安卓App运行的效率。而步骤1的做法是一种硬编码的做法,硬编码在安卓App中不是建议的做法,步骤1只是为了刚入门时理解更容易。










