示例#1
0
        static void PlatformOpen(string number)
        {
            ValidateOpen(number);

            var phoneNumber = string.Empty;

#if __ANDROID_24__
            if (Platform.HasApiLevelN)
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number, Java.Util.Locale.GetDefault(Java.Util.Locale.Category.Format).Country);
            }
            else if (Platform.HasApiLevel(BuildVersionCodes.Lollipop))
#else
            if (Platform.HasApiLevel(BuildVersionCodes.Lollipop))
#endif

            { phoneNumber = PhoneNumberUtils.FormatNumber(number, Java.Util.Locale.Default.Country); }
            else
#pragma warning disable CS0618
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number);
            }
#pragma warning restore CS0618

            var dialIntent = ResolveDialIntent(phoneNumber)
                             .SetFlags(ActivityFlags.ClearTop)
                             .SetFlags(ActivityFlags.NewTask);

            Platform.AppContext.StartActivity(dialIntent);
        }
示例#2
0
        static Task DoMakePhoneCall(string number, string _)
        {
            ((Activity)UIRuntime.NativeRootScreen).StartActivity(
                new Intent(Intent.ActionDial, Android.Net.Uri.Parse("tel:" + PhoneNumberUtils.FormatNumber(number))));

            return(Task.CompletedTask);
        }
示例#3
0
        public void Open(string number)
        {
            ValidateOpen(number);

            var phoneNumber = string.Empty;

            if (OperatingSystem.IsAndroidVersionAtLeast(24))
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number, Java.Util.Locale.GetDefault(Java.Util.Locale.Category.Format).Country) ?? phoneNumber;
            }
            else
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number, Java.Util.Locale.Default.Country) ?? phoneNumber;
            }

            // if we are an extension then we need to encode
            if (phoneNumber.Contains(',', StringComparison.Ordinal) || phoneNumber.Contains(';', StringComparison.Ordinal))
            {
                phoneNumber = URLEncoder.Encode(phoneNumber, "UTF-8") ?? phoneNumber;
            }

            var dialIntent = ResolveDialIntent(phoneNumber);

            var flags = ActivityFlags.ClearTop | ActivityFlags.NewTask;

            if (OperatingSystem.IsAndroidVersionAtLeast(24))
            {
                flags |= ActivityFlags.LaunchAdjacent;
            }
            dialIntent.SetFlags(flags);

            Application.Context.StartActivity(dialIntent);
        }
示例#4
0
        void LaunchDial()
        {
            string phoneNumber = PhoneNumberUtils.FormatNumber(Model.PrimaryPhone);
            Intent newIntent   = new Intent(Intent.ActionDial, Android.Net.Uri.Parse("tel:" + phoneNumber));

            StartActivity(newIntent);
        }
示例#5
0
        public static void Open(string number)
        {
            ValidateOpen(number);

            var phoneNumber = string.Empty;

            if (Platform.HasApiLevel(BuildVersionCodes.N))
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number, Locale.GetDefault(Locale.Category.Format).Country);
            }
            else if (Platform.HasApiLevel(BuildVersionCodes.Lollipop))
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number, Locale.Default.Country);
            }
            else
#pragma warning disable CS0618
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number);
            }
#pragma warning restore CS0618

            var dialIntent = ResolveDialIntent(phoneNumber)
                             .SetFlags(ActivityFlags.ClearTop)
                             .SetFlags(ActivityFlags.NewTask);

            Application.Context.StartActivity(dialIntent);
        }
        public void MakePhoneCall(string number, string name = null)
        {
            if (string.IsNullOrWhiteSpace(number))
            {
                throw new ArgumentException("number");
            }

            if (CanMakePhoneCall)
            {
                string phoneNumber = number;
                if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop)
                {
                    phoneNumber = PhoneNumberUtils.FormatNumber(number);
                }
                else
                {
                    if (!string.IsNullOrEmpty(Settings.DefaultCountryIso))
                    {
                        phoneNumber = PhoneNumberUtils.FormatNumber(number, Settings.DefaultCountryIso);
                    }
                }

                var dialIntent = ResolveDialIntent(phoneNumber);
                dialIntent.StartNewActivity();
            }
        }
示例#7
0
        private static void ShowPhoneCallUIImpl(string phoneNumber, string displayName)
        {
            if (Build.VERSION.SdkInt >= BuildVersionCodes.N)
            {
#if __ANDROID_24__
                phoneNumber = PhoneNumberUtils.FormatNumber(phoneNumber, Java.Util.Locale.GetDefault(Java.Util.Locale.Category.Format).Country);
#endif
            }
            else if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(phoneNumber, Java.Util.Locale.Default.Country);
            }
            else
            {
#pragma warning disable CS0618
                phoneNumber = PhoneNumberUtils.FormatNumber(phoneNumber);
#pragma warning restore CS0618
            }

            var phoneCallIntent = new Intent(
                Intent.ActionDial,
                Android.Net.Uri.Parse($"tel:{phoneNumber}"))
                                  .SetFlags(ActivityFlags.ClearTop)
                                  .SetFlags(ActivityFlags.NewTask);

            ContextHelper.Current.StartActivity(phoneCallIntent);
        }
        static void PlatformOpen(string number)
        {
            ValidateOpen(number);

            var phoneNumber = string.Empty;

            if (Platform.HasApiLevelN)
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number, Java.Util.Locale.GetDefault(Java.Util.Locale.Category.Format).Country) ?? phoneNumber;
            }
            else
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number, Java.Util.Locale.Default.Country) ?? phoneNumber;
            }

            // if we are an extension then we need to encode
            if (phoneNumber.Contains(',') || phoneNumber.Contains(';'))
            {
                phoneNumber = URLEncoder.Encode(phoneNumber, "UTF-8") ?? phoneNumber;
            }

            var dialIntent = ResolveDialIntent(phoneNumber);

            var flags = ActivityFlags.ClearTop | ActivityFlags.NewTask;

            if (Platform.HasApiLevelN)
            {
                flags |= ActivityFlags.LaunchAdjacent;
            }
            dialIntent.SetFlags(flags);

            Platform.AppContext.StartActivity(dialIntent);
        }
示例#9
0
        public void MakePhoneCall(string number, string name = null)
        {
            if (string.IsNullOrWhiteSpace(number))
            {
                throw new ArgumentException(nameof(number));
            }

            if (CanMakePhoneCall)
            {
                string phoneNumber = number;
                if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop)
                {
#pragma warning disable CS0618
                    phoneNumber = PhoneNumberUtils.FormatNumber(number);
#pragma warning restore CS0618
                }
                else
                {
                    if (!string.IsNullOrEmpty(settings.DefaultCountryIso))
                    {
                        phoneNumber = PhoneNumberUtils.FormatNumber(number, settings.DefaultCountryIso);
                    }
                }

                var dialIntent = ResolveDialIntent(phoneNumber);
                dialIntent.StartNewTopMostActivity();
            }
        }
示例#10
0
        public void MakePhoneCall(string name, string number)
        {
            var phoneNumber = PhoneNumberUtils.FormatNumber(number);
            var newIntent   = new Intent(Intent.ActionDial, Uri.Parse("tel:" + phoneNumber));

            StartActivity(newIntent);
        }
示例#11
0
        public void MakePhoneCall(string name, string number)
        {
#warning What exceptions could be thrown here?
#warning Does this need to be on UI thread?
            var phoneNumber = PhoneNumberUtils.FormatNumber(number);
            var newIntent   = new Intent(Intent.ActionDial, Uri.Parse("tel:" + phoneNumber));
            StartActivity(newIntent);
        }
示例#12
0
        public void ShowUI(string dialNumber, string displayName)
        {
            var number = PhoneNumberUtils.FormatNumber(dialNumber.Trim(), "JP");
            var intent = new Intent(Intent.ActionDial, Uri.Parse("tel:" + number));

            if (!IsIntentAvailable(intent))
            {
                return;
            }

            intent.SetFlags(ActivityFlags.NewTask);
            Android.App.Application.Context.StartActivity(intent);
        }
        public void MakePhoneCall(string number, string name = null)
        {
            if (string.IsNullOrWhiteSpace(number))
            {
                throw new ArgumentException("number");
            }

            if (CanMakePhoneCall)
            {
                var phoneNumber = PhoneNumberUtils.FormatNumber(number);

                var dialIntent = ResolveDialIntent(phoneNumber);
                dialIntent.StartNewActivity();
            }
        }
示例#14
0
        public void MakePhoneCall(string number, string name = null)
        {
            if (string.IsNullOrWhiteSpace(number))
            {
                throw new ArgumentException("number");
            }

            if (CanMakePhoneCall)
            {
                var phoneNumber = PhoneNumberUtils.FormatNumber(number);

                Uri telUri     = Uri.Parse("tel:" + phoneNumber);
                var dialIntent = new Intent(Intent.ActionDial, telUri);

                dialIntent.StartNewActivity();
            }
        }
示例#15
0
        public void MakePhoneCall(string name, string number)
        {
            string phoneNumber;

            if (Build.VERSION.SdkInt >= BuildVersionCodes.N)
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number, Locale.GetDefault(Locale.Category.Format).Country);
            }
            else
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number, Locale.Default.Country);
            }

            var newIntent = new Intent(Intent.ActionDial, Uri.Parse("tel:" + phoneNumber));

            StartActivity(newIntent);
        }
示例#16
0
        //TODO : 더 최적화할 건덕지가 있다.
        //LoadContactData()와 RawContact와 LoadContactData2랑 합칠수 있을듯...
        private void LoadContactData()
        {
            foreach (Contact objContact in _ContactList.Values)
            {
                string refinedAddress = PhoneNumberUtils.FormatNumber(objContact.PrimaryContactData.Address, "KR");

                if (refinedAddress == null)
                {
                    refinedAddress = objContact.PrimaryContactData.Address;
                }

                if (_ContactDataList.ContainsKey(refinedAddress) == false)
                {
                    _ContactDataList.Add(refinedAddress, objContact.PrimaryContactData);
                }
            }
        }
示例#17
0
        public void MakePhoneCall(string name, string number)
        {
            string phoneNumber;

            if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number, Locale.GetDefault(Locale.Category.Format).Country);
            }
            else
#pragma warning disable 618
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number);
            }
#pragma warning restore 618

            var newIntent = new Intent(Intent.ActionDial, Uri.Parse("tel:" + phoneNumber));
            StartActivity(newIntent);
        }
示例#18
0
        static void PlatformOpen(string number)
        {
            ValidateOpen(number);

            var phoneNumber = string.Empty;

#if __ANDROID_24__
            if (Platform.HasApiLevelN)
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number, Java.Util.Locale.GetDefault(Java.Util.Locale.Category.Format).Country) ?? phoneNumber;
            }
            else if (Platform.HasApiLevel(BuildVersionCodes.Lollipop))
#else
            if (Platform.HasApiLevel(BuildVersionCodes.Lollipop))
#endif

            { phoneNumber = PhoneNumberUtils.FormatNumber(number, Java.Util.Locale.Default.Country) ?? phoneNumber; }
            else
#pragma warning disable CS0618
            {
                phoneNumber = PhoneNumberUtils.FormatNumber(number) ?? phoneNumber;
            }
#pragma warning restore CS0618

            // if we are an extension then we need to encode
            if (phoneNumber.Contains(',') || phoneNumber.Contains(';'))
            {
                phoneNumber = URLEncoder.Encode(phoneNumber, "UTF-8") ?? phoneNumber;
            }

            var dialIntent = ResolveDialIntent(phoneNumber);

            var flags = ActivityFlags.ClearTop | ActivityFlags.NewTask;
#if __ANDROID_24__
            if (Platform.HasApiLevelN)
            {
                flags |= ActivityFlags.LaunchAdjacent;
            }
#endif
            dialIntent.SetFlags(flags);

            Platform.AppContext.StartActivity(dialIntent);
        }
示例#19
0
        public ContactData GetContactDataByAddress(string address, bool needRefresh)
        {
            if (needRefresh)
            {
                Refresh();
            }

            string refinedAddress = PhoneNumberUtils.FormatNumber(address, "KR");

            if (refinedAddress == null)
            {
                refinedAddress = address;
            }

            if (_ContactDataList.ContainsKey(refinedAddress))
            {
                return(_ContactDataList[refinedAddress]);
            }
            return(null);
        }