DependencyService use
Shared project to create an interface
using System.Collections.Generic; using System.Text; namespace OutAppDemo { public interface IAppManager { void CloseApp(); } }
On each platform separately implement this interface
Android platformusing Android.OS; namespace OutAppDemo.Droid { public class AppManager : IAppManager { void IAppManager.CloseApp() { Process.KillProcess(Android.OS.Process.MyPid()); } } }
iOS
``` CSharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;using Foundation;
using UIKit;namespace OutAppDemo.iOS
{
public class AppManager : IAppManager
{
void IAppManager.CloseApp()
{
System.Threading.Thread.CurrentThread.Abort();
}
}
}
```UWP
省略
Each register platform
platforms interface class, add the following codeusing Android.OS; using Xamarin.Forms; <--此处添加 [assembly: Dependency(typeof(OutAppDemo.Droid.AppManager))] <--此处添加 namespace OutAppDemo.Droid { public class AppManager : IAppManager { void IAppManager.CloseApp() { ...... } } }
Andrews ultimate reality
`` `CSharp
a using System;
a using android.os;
a using Xamarin.Forms;[assembly: Dependency(typeof(OutAppDemo.Droid.AppManager))]
namespace OutAppDemo.Droid
{
public class AppManager : IAppManager
{
void IAppManager.CloseApp()
{
Process.KillProcess(Android.OS.Process.MyPid());
}
}
}
```use
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; namespace OutAppDemo { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); } private void Button_Clicked(object sender, EventArgs e) <--此处使用 { //此处使用 var manager = DependencyService.Get<IAppManager>(); manager.CloseApp(); } } }