مشخصات مقاله
کار با تماس ها (Call) در Xamarin.Forms
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.
کار با تماس ها (Call) در Xamarin.Forms
هنگام کدزنی در Xamarin.Forms برای تماس های صوتی باید همواره مراقب DependencyService بود. DependencyService در Xamarin.Forms دسترسی به قابلیت های بومی و نیز یکسری پیاده سازی های ویژه برای هر پلتفرم نظیر iOS، اندورید و یا Windows Phone را از طریق PCL و یا پروژه مشترک (Shared Project) فراهم میکند.
برای برقراری تماس صوتی باید یکسری پیاده سازی های مخصوص برای هر پلتفرم انجام شود و یکسری مجوز ها اخذ شوند:
1. در ادامه فرآیند پیاده سازی برقراری تماس تلفنی را در Xamarin.Forms مشاهده می کنید. یک ContentPage به نام HomePage.cs به همراه یک فیلد ورود اطلاعات و یک دکمه ایجاد کنید.
2. یک اینترفیس به نام IPhoneCall.cs در shared code ایجاد کنید. به این ترتیب کارایی مورد نظر ما پیاده سازی خواهد شد:
3. این اینترفیس باید در هر پروژه ی مخصوص هر پلتفرم پیاده سازی شود.
پیاده سازی اندروید:
پیش از شروع پیاده سازی اینترفیس در اندروید حتماً تنظیمات لازم درباره یکسری مجوز ها را در فایل AndroidManifest.xml انجام دهید. از این مجوزها برای برقراری تماس صوتی در اندروید لازم است:
پس از تنظیم مجوز ها باید اینترفیس را بوسیله یک کلاس به نام PhoneCall_Droid.cs پیاده سازی کنیم.
پیاده سازی iOS:
برای پیاده سازی این امکان در پلتفرم iOS باید اینترفیس را بوسیله یک کلاس به نام PhoneCall_iOS.cs پیاده سازی کنیم.
پیاده سازی Windows Phone:
در Windows Phone یک API ساده وجود دارد که شماره گیر را فعال می کند. فقط کافیست تیک مربوط به قابلیت ID_CAP_PHONEDIALER را در WMAppManifest.xml زده باشید.در غیر اینصورت دسترسی به APIهای شماره گیر مسدود می شود.
فقط دو خط پیاده سازی برای آن نیاز است:
4. تا اینجا پیاده سازی اینترفیس برای تک تک پلتفرم ها انجام شد. حالا می توانیم با استفاده از DependencyService یک نمونه از این اینترفیس بگیریم .