DependencyService exit App

DependencyService use

  1. Shared project to create an interface

     using System.Collections.Generic;
     using System.Text;
    
     namespace OutAppDemo
     {
         public interface IAppManager
         {
             void CloseApp();
         }
     }
  2. On each platform separately implement this interface
    Android platform

    
     using 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

     省略
  3. Each register platform
    platforms interface class, add the following code

     using 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());
    }
    }
    }
    ```

  4. 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();
             }
         }
     }       

Guess you like

Origin www.cnblogs.com/ruyu/p/11283436.html