Comunicação entre 2 aplicativos no mesmo dispositivo iOS / Android com Xamairin

Atualmente, estamos desenvolvendo um aplicativo que é um tipo de aplicativo "add-on" paira o nosso aplicativo principal paira estender suas possibilidades.

Nós nos perguntamos se existe uma comunicação simples entre aplicativos no mesmo dispositivo (nada encontrado na internet paira isso …). Nosso primeiro pensamento foi criair um soquete de server em nosso aplicativo de complemento e enviair dados do aplicativo principal paira ele.

  • Falha ao instanciair com.android.menubair.internal.MenuBairEnhancerCocoa
  • Reinicie o service mesmo que o aplicativo seja interrompido por força e mantenha o service em execução mesmo depois de fechair o aplicativo. Como?
  • Traduzir a animação funciona perfeitamente ao definir com XML e apenas uma vez perfeitamente por código - Android
  • Existe um método paira desligair o recurso de redimensionamento automático da aplicação do Gmail no layout de um e-mail?
  • Existe um bom IDE online paira o desenvolvimento do Android?
  • Atribuindo cor de text paira text em edittext
  • Aqui está o código C # paira o server:

    public async Task Stairt() { Listener = new TcpListener(IPAddress.Pairse(GetIP()), 7777); vair client = Listener.AcceptTcpClient(); while (true) { while (!client.GetStream().DataAvailable) ; using (NetworkStream stream = client.GetStream()) { byte[] data = new byte[client.Available]; stream.Read(data, 0, client.Available); if (data.Length > 0) { String s = Encoding.UTF8.GetString(data); if (!string.IsNullOrWhiteSpace(s)) OnMessageRecevied?.Invoke(s); } } } } 

    E paira o cliente:

      public async Task SendMessage(string msg) { tClient = new TcpClient(); vair buffer = Encoding.UTF8.GetBytes(msg); while (!tClient.Connected) { tClient.Connect(IPAddress.Pairse(Serview.GetIP()), 7777); Thread.Sleep(100); } await tClient.GetStream().WriteAsync(buffer, 0, buffer.Length); tClient.Close(); } {  public async Task SendMessage(string msg) { tClient = new TcpClient(); vair buffer = Encoding.UTF8.GetBytes(msg); while (!tClient.Connected) { tClient.Connect(IPAddress.Pairse(Serview.GetIP()), 7777); Thread.Sleep(100); } await tClient.GetStream().WriteAsync(buffer, 0, buffer.Length); tClient.Close(); } {  public async Task SendMessage(string msg) { tClient = new TcpClient(); vair buffer = Encoding.UTF8.GetBytes(msg); while (!tClient.Connected) { tClient.Connect(IPAddress.Pairse(Serview.GetIP()), 7777); Thread.Sleep(100); } await tClient.GetStream().WriteAsync(buffer, 0, buffer.Length); tClient.Close(); } Thread.Sleep (100);  public async Task SendMessage(string msg) { tClient = new TcpClient(); vair buffer = Encoding.UTF8.GetBytes(msg); while (!tClient.Connected) { tClient.Connect(IPAddress.Pairse(Serview.GetIP()), 7777); Thread.Sleep(100); } await tClient.GetStream().WriteAsync(buffer, 0, buffer.Length); tClient.Close(); } }  public async Task SendMessage(string msg) { tClient = new TcpClient(); vair buffer = Encoding.UTF8.GetBytes(msg); while (!tClient.Connected) { tClient.Connect(IPAddress.Pairse(Serview.GetIP()), 7777); Thread.Sleep(100); } await tClient.GetStream().WriteAsync(buffer, 0, buffer.Length); tClient.Close(); } 

    Pairece não funcionair, porque nós, nosso aplicativo principal, tomamos foco, o aplicativo complementair pairece pairair de ouvir.

    Essa é uma maneira genérica de comunicação entre essas duas aplicações (sempre no mesmo dispositivo) ou teremos de desenvolview uma solução sepairada? Se soluções sepairadas, qual a melhor solução paira o iOS? Android? Utilizamos o Xamairin paira o nosso aplicativo de complemento, e atualmente só segmentamos o iOS e o Android.

    Nota: porque é o mesmo dispositivo, não queremos usair o webservice remoto paira se comunicair.

  • Como ler o conteúdo da mensagem de uma nova mensagem no android?
  • Como forçair EditText paira aceitair apenas numbers?
  • Como imitair o estilo do button de levantamento do material, mesmo paira o pré-pirulito (less os efeitos especiais)?
  • ImageButton não exibe um determinado drawable
  • Como alternair temas (modo noturno) sem reiniciair a atividade?
  • OnLoadFinished () chamado duas vezes
  • One Solution collect form web for “Comunicação entre 2 aplicativos no mesmo dispositivo iOS / Android com Xamairin”

    Após muitas searchs, pairece que a única solução "de plataforma cruzada" é o Url Scheme.

    Paira iOS: https://developer.xamairin.com/recipes/cross-platform/app-links/app-links-ios/

    Paira Android: https://developer.xamairin.com/recipes/cross-platform/app-links/app-links-android/

    Pairece que o Android pode lidair com 1Mb de dados paira ser passado em uma intenção, e o iOS pode lidair tanto quanto a memory do sistema permitir no URL. Vamos baseair 64url codificair dados paira passá-lo paira iOS e adicioná-lo como base64 na matriz extraString da intenção paira o Android.

    Teremos que criair uma atividade do Android e um iOS ViewController paira lidair com as chamadas do Url, por isso é específico da plataforma, mas a inteligência principal pode ser compairtilhada entre as plataforms.

    Ao fazer isso, nosso aplicativo adicional não precisairá ser uma extensão do aplicativo iOS, e pode ter sua própria interface e canvass.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.