Android.Content.ActivityNotFoundException:<超时超过=“ =” getting =“” exception =“” details =“”> Xamarin C#

时间:2018-12-14 16:40:00

标签: c# xamarin xamarin.android

最近我尝试在Visual Studio 2017中使用Xamarin学习android编程 我写了一个简单的应用程序,可以打电话,但是当我点击“呼叫按钮”时,几天前就给出了这个执行错误,但是现在我能收到这个错误 我确实在清单文件中获得了CALL_PHONE的许可 原谅我英语不好 如果有人知道如何解决此问题,请告诉我病了 这是我的代码.cs

using Android.App;
using Android.Widget;
using Android.OS;
using Android.Content;


namespace Dialer.app
{
    [Activity(Label = "Dialer.app", MainLauncher = true)]
    public class MainActivity : Activity
    {
        Button btnCall;
        ListView txtViewNumbers;
        EditText txtUnumber;
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            btnCall = FindViewById<Button>(Resource.Id.button1);
            txtViewNumbers = FindViewById<ListView>(Resource.Id.listView1);
            txtUnumber = FindViewById<EditText>(Resource.Id.editText1);
            string phone = txtUnumber.Text;
            btnCall.Click += delegate
            {
                var callDialog = new AlertDialog.Builder(this);
                callDialog.SetMessage("Dial This Number? " + phone);


                callDialog.SetPositiveButton("ok", delegate
                {
                    var callIntent = new Intent(Intent.ActionCall);
                    callIntent.SetData(Android.Net.Uri.Parse(phone));
                    StartActivity(callIntent); //i get error in this line
                });


                callDialog.SetNeutralButton("Cancel", delegate { });
                callDialog.Show();
            };

        }
    }
}

1 个答案:

答案 0 :(得分:0)

  

未找到可处理意图的活动{act = android.intent.action.CALL .....

您在电话号码上缺少geth --syncmode "fast" --cache=4096 前缀:

tel:

但是,在最新的API级别中,var callIntent = new Intent(Intent.ActionCall); callIntent.SetData(Android.Net.Uri.Parse("tel:" + phone)); StartActivity(callIntent); 是已撤销的权限:

  

拒绝权限:启动意图{act = android.intent.action.CALL dat = tel:xxx-xxx-xxxx

您需要用户通过系统拨号器接受号码,而不是直接拨打电话号码,而是通过CALL_PHONE来完成:

ACTION_DIAL