Enviar o texto do projecto Android para o PCL com o MessagingCenter

Este é o meu primeiro post neste fórum, por isso qualquer dica sobre como tornar a pergunta mais compreensível/legível e assim por diante é apreciada.

o que estou a fazer?

Estou a fazer a minha primeira aplicação usando formulários Xamarin, e tenho dois projectos, PCL (biblioteca de classe portátil) e Android. O meu projecto Android recebe SMS de um número específico e guarda-o numa string. O que eu estou tentando alcançar é que usando MessagingCenter, enviar a string do meu projeto Android ao meu PCL.

o meu problema:

Já vi muitos tópicos a este respeito, mas há algo que me está a escapar. E porque eu sou novo neste fórum eu não posso escrever comentários assim que eu tenho que criar minha própria pergunta. Deixa-me mostrar-te um pouco do Código. (parsedsms é o texto que contém o SMS)

Leitor de SmsReceiver.cs (no meu projecto Android)

MessagingCenter.Send<SmsReceiver, string> (this, "ParsedSmsReceived", parsedsms);
Página da missão.xaml.cs (no meu projecto PCL)

MessagingCenter.Subscribe<SmsReceiver, string> (this, "ParsedSmsReceived",
(sender, arg) => 
{ 
    string message = arg; 
});
Este é um exemplo que encontrei em outro tópico aqui em Stackoverflow. Meu problema é que parsedsms não pode ser acessado a partir do PCL. Como posso acessar a classe SmsReceiver a partir do meu PCL? Você não pode adicionar uma referência de PCL (porque é uma biblioteca, eu acho) para Android, apenas o contrário.

Author: Amy, 2018-03-09

1 answers

Como @Jason escreveu nos comentários, a solução é usar Object em vez de SmsReceiver Assim:

Leitor de SmsReceiver.cs

MessagingCenter.Send<Object, string> (this, "ParsedSmsReceived", parsedsms);
Página da missão.xaml.cs
MessagingCenter.Subscribe<Object, string> (this, "ParsedSmsReceived",
(sender, arg) => 
{ 
    string message = arg; 
});
Isso funciona bem, mas se MessagingCenter realmente é o caminho certo para ir é outra questão. Como @Csharpest comentou usando DependencyService pode ser uma solução melhor.
 1
Author: Amy, 2018-03-10 17:52:31