Application.Current.Properties в BroadcastReceiver в приложении Xamarin.Forms - PullRequest
0 голосов
/ 10 мая 2019

Я сохраняю некоторые настройки в Application.Current.Properties для моего приложения Xamarin.Forms, и у меня есть BroadcastReceiver, который нуждается в этих настройках.Проблема в том, что Xamarin.Forms не инициализируется в BroadcastReceiver, поэтому мне нужен способ доступа к этим переменным в собственном Xamain.Android.Это возможно?

Ответы [ 2 ]

1 голос
/ 13 мая 2019

Мне нужен способ доступа к этим переменным в нативном Xamain. Android

вы можете использовать DependencyService , эта функция позволяет приложениям Xamarin.Forms делать все, что может делать нативное приложение.

Вот пример использования Android-тоста для отображения сообщения в общем коде:

1.создать интерфейс в общем коде:

public interface IToast
 {
    void LongAlert(string message);//the parameter could pass to the native platform
    void ShortAlert(string message);
 }

2. Реализация Android:

[assembly: Dependency(typeof(ToastAndroid))]
namespace Demo.Droid
{
  class ToastAndroid : IToast
   {
     public void LongAlert(string message)
      {
        Toast.MakeText(Android.App.Application.Context, message, ToastLength.Long).Show();
      }            

     public void ShortAlert(string message)
      {           
        Toast.MakeText(Android.App.Application.Context, message, ToastLength.Short).Show();
       }
   }
}

3. Звоните в общий код:

DependencyService.Get<IToast>().ShortAlert("short toast);
DependencyService.Get<IToast>().LongAlert("long toast);

DependencyService

0 голосов
/ 22 мая 2019

Я нашел решение сам. Я использовал источник Xamarin.Forms (найден здесь ), чтобы написать функцию, которая считывает значения из того же файла, в котором они записаны в приложении форм. Работает как шарм.

...