Merhaba,
Bazı durumlarda uygulamalarımızı kapatmadan arka plana göndermek isteyebiliriz. Bu gibi durumlarda, Xamarin %100 Native platformların özelliklerini desteklediği için problemsiz bir şekilde bu isteğimizi gerçekleştirebiliyoruz.
Platform özelinde işlemler yapacağımız için DependencyService kullanacağız.
public interface ISendToBackground { void Sleep(); }
DependencyService Android
[assembly: Dependency(typeof(SendToBackground))] namespace SendAppToBackground.Droid { public class SendToBackground : Activity, ISendToBackground { public void Sleep() { var mainActivity = Forms.Context as MainActivity; if (mainActivity != null) mainActivity.MoveTaskToBack(true); } } }
DependencyService classına Activity extend edilmesi gerekiyor, çünkü MoveTaskToBack bir Activity metodu.
Kullanımı;
private void Btn_Clicked(object sender, EventArgs e) { DependencyService.Get<ISendToBackground>().Sleep(); }
Traditional Android kullanıyorsanız, istediğiniz bir Activity içerisinde MoveTaskToBack metodunu kullanmanız yeterli olacaktır.
Kaynaklar; https://developer.android.com/reference/android/app/Activity.html#moveTaskToBack(boolean) https://developer.xamarin.com/api/member/Android.App.Activity.MoveTaskToBack/p/System.Boolean/
Post A Reply