示例#1
0
        public async Task <IEnumerable <Contacter> > GetContactors()
        {
            var book = new Xamarin.Contacts.AddressBook();

            var datas = new List <Contacter>();

            await book.RequestPermission().ContinueWith(t => {
                if (t.Result)
                {
                    //foreach (Contact contact in book.OrderBy(c => c.LastName)) {
                    var cs = book.ToList()
                             .OrderBy(c => c.DisplayName);

                    foreach (var c in cs)
                    {
                        foreach (var p in c.Phones)
                        {
                            datas.Add(new Contacter()
                            {
                                Phone     = p.Number,
                                PhoneType = p.Label,
                                Name      = c.DisplayName,
                                Img       = this.GetBytes(c.GetThumbnail())
                            });
                        }
                    }
                }
            });

            return(datas);
        }
 protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
 {
     if (requestCode == 101 && resultCode == Result.Ok)
     {
         //Ensure we have data returned
         if (data == null || data.Data == null)
         {
             return;
         }
         var addressBook = new Xamarin.Contacts.AddressBook(this);
         addressBook.PreferContactAggregation = false;
         //Load the contact via the android contact id
         // in the last segment of the Uri returned by the
         // android contact picker
         var contact = addressBook.Load(data.Data.LastPathSegment);
         //Use linq to find a mobile number
         var mobile = (from p in contact.Phones
                       where
                       p.Type == Xamarin.Contacts.PhoneType.Mobile
                       select p.Number).FirstOrDefault();
         //See if the contact has a mobile number
         if (string.IsNullOrEmpty(mobile))
         {
             Toast.MakeText(this, "No Mobile Number for contact!",
                            ToastLength.Short).Show();
             return;
         }
         txtmobilenum.Text = mobile;
     }
 }
示例#3
0
        public async Task <List <EmailContact> > GetEmailContacts()
        {
            Xamarin.Contacts.AddressBook book     = new Xamarin.Contacts.AddressBook();
            List <EmailContact>          contacts = new List <EmailContact>();

            await book.RequestPermission().ContinueWith(t =>
            {
                if (!t.Result)
                {
                    Console.WriteLine("Permission denied by user or manifest");
                    return;
                }
                foreach (var contact in book.Where(c => c.Emails.Any()))
                {
                    var firstOrDefault = contact.Emails.FirstOrDefault();
                    if (firstOrDefault != null)
                    {
                        contacts.Add(new EmailContact
                        {
                            Email = firstOrDefault.Address,
                            Name  = contact.FirstName + " " + contact.LastName
                        });
                    }
                }
            });

            contacts = contacts.OrderByDescending(c => c.Name).ToList();
            return(contacts);
        }
示例#4
0
文件: GPS.cs 项目: AndreiMuja/License
 protected override void OnActivityResult(int _req, [GeneratedEnum] Result _rezultat, Intent _data)
 {
     if (_req == 101 && _rezultat == Result.Ok)
     {
         if (_data == null || _data.Data == null)
         {
             return;
         }
         var _listaContacte = new Xamarin.Contacts.AddressBook(this)
         {
             PreferContactAggregation = false
         };
         var _contact = _listaContacte.Load(_data.Data.LastPathSegment);
         var _tel     = (from _apel in _contact.Phones
                         where _apel.Type == Xamarin.Contacts.PhoneType.Mobile
                         select _apel.Number).FirstOrDefault();
         if (string.IsNullOrEmpty(_tel))
         {
             Toast.MakeText(this, "No phone number in this contact, select another one!", ToastLength.Short).Show();
             return;
         }
         else
         {
             Intent _suna = new Intent(Intent.ActionCall);
             _suna.SetData(Android.Net.Uri.Parse("tel:" + _tel));
             StartActivity(_suna);
         }
     }
 }
示例#5
0
        public async Task <User[]> GetFriends(string userName)
        {
            var book = new Xamarin.Contacts.AddressBook(Application.Context);
            await book.RequestPermission();

            var users = new List <User>();

            foreach (var contact in book)
            {
                users.Add(new User
                {
                    Name = contact.DisplayName,
                });
            }
            return(users.ToArray());
        }
示例#6
0
        public async Task <bool> GetContactsPermissions()
        {
            Console.WriteLine("Getting book");

            Xamarin.Contacts.AddressBook book = new Xamarin.Contacts.AddressBook();
            bool permission = false;

            Console.WriteLine("Requesting permissions");

            try
            {
                permission = await book.RequestPermission();
            }catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }


            return(permission);
        }
示例#7
0
 public ContactDroid()
 {
     _book = new Xamarin.Contacts.AddressBook(Forms.Context.ApplicationContext);
 }
示例#8
0
 public UserContactService()
 {
     _book = new Xamarin.Contacts.AddressBook();
 }
示例#9
0
 public ContactIos()
 {
     _book = new Xamarin.Contacts.AddressBook();
 }
示例#10
0
 public UserContactService()
 {
     _book = new Xamarin.Contacts.AddressBook(Forms.Context.ApplicationContext);
 }