xamarin.android 谈窗口

 

 

   private void Button_Click(object sender, System.EventArgs e)
        {
            var translatedNumber = PhoneTranslator.ToNumber("13911248117");
            //对话框
            var callDialog = new AlertDialog.Builder(this);
            //对话框内容
            callDialog.SetMessage("Call "+ translatedNumber + "?");
            //拨打按钮
            callDialog.SetNeutralButton("Call", delegate
            {
                //使用意图拨打电话
                var callIntent = new Intent(Intent.ActionCall);
                //将需要拨打的电话设置为意图的参数
                callIntent.SetData(Android.Net.Uri.Parse("tel:" + translatedNumber ));
                StartActivity(callIntent);
            });
            //取消按钮
            callDialog.SetNegativeButton("Cancel", delegate { });
            //显示对话框
            callDialog.Show();
        }

 

 public static class PhoneTranslator
     {
         public static string ToNumber(string raw)
         {
             if (string.IsNullOrWhiteSpace(raw))
                 return "";
             else
                 raw = raw.ToUpperInvariant();
 
             var newNumber = new StringBuilder();
             foreach (var c in raw)
             {
                 if (" -0123456789".Contains(c))
                     newNumber.Append(c);
                 else
                 {
                     var result = TranslateToNumber(c);
                     if (result != null)
                         newNumber.Append(result);
                 }
             }
             return newNumber.ToString();
         }
 
         public static int? TranslateToNumber(char c)
         {
             if ("ABC".Contains(c))
                 return 2;
             else if ("DEF".Contains(c))
                 return 3;
             else if ("GHI".Contains(c))
                 return 4;
             else if ("JKL".Contains(c))
                 return 5;
             else if ("MNO".Contains(c))
                 return 6;
             else if ("PQRS".Contains(c))
                 return 7;
             else if ("TUV".Contains(c))
                 return 8;
             else if ("WXYZ".Contains(c))
                 return 9;
             return null;
         }
     }

 

posted on 2017-06-16 17:20  忙碌ing  阅读(929)  评论(0)    收藏  举报

导航