Xamarin Forms Rehber Okuma

Xamarin Forms ile telefon rehberini okuma

Bu yazımda sizlere, hiçbir katmana gidip platform spesifik kod yazmadan, Portable katmanından rehberi okumanıza yardımcı olacağım. Rahat kullanım için önceden hazırlamış olduğum kodu tek satırda kullanabiliyorsunuz:

var contacts = await Plugin.ContactService.CrossContactService.Current.GetContactListAsync();

Örnek Proje

Yeni bir proje açıp Manage Nuget Packages kısmına girerek Xamarin.Forms.Contacts paketini tüm platformların katmanlarına ekliyoruz.

Xamarin Forms Contacts Enis Necipoglu Android iOS Read Contacts
Xamarin Forms Contacts Enis Necipoglu Android iOS Read Contacts

Projede arsayılan olarak gelen MainPage’i kullanarak rehberimizi listeleyelim. MainPage.XAML
dosyasına basit bir listview oluşturalım. Daha sonra MainPage.Cs kısmına da yukarıda belirtmiş olduğum kodu ekleyelim.

İZİNLER

Kesinlikle unutulmaması gereken bir aşama daha var. İzinleri her platform için kendi katmanında ekleyelim.

Android katmanı için AndroidManifes.xml dosyasına manuel bir şekilde eklenebilir veya Android projesine Sağ tıklayıp Properties kısmına gelip Android Manifest sekmesinde yetkileri CheckBoxlarla ayarlayabileecğiniz bir alan var. Bu alandan READ_CONTACTS‘ı seçmeniz yeterli olacaktır.

iOS katmanı içinse Info.plist dosyasına Sağ tıklayıp Open With dedikten sonra XML Editor seçerek açıyoruz. Daha sonra dict tag’ının içinde kalacak şekilde key olarak NSContactsUsageDescription ve value olarak da string tagı arasında kullanım amacınızı belirtiyorsunuz. (örnek aşağıda yer alıyor



DOSYALAR


Olası Hatalar:

  • Android 5.0 ve üzerinde runtime permisson almanız gereklidir.
  • Kullanıcılar rehbere erişim izni vermeyebilir. İstenmeyen durumları engellemek için Permission Plugin nuget paketini kullanabilirsiniz.
label, , , , , ,

About the author

Piksel Akademi | Xamarin Developer "İş olarak kod yazan, hobi olarak kod yazan biriyim. Unity 3D ve Xamarin Forms platformlarında C# ile uygulamalar yazmaktan zevk alırım. .Net Framework'ün taşınabildiği her platfromda da çalışma gerçekleştirmiş olmayı severim."

Add a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir