O aplicativo Xamarin.Forms retorna os dados para a chamada do aplicativo
Então, ou estou perguntando incorretamente, ou não é possível, vamos ver qual ...
Se meu aplicativo (Xamarin.Forms) for iniciado a partir de outro aplicativo, para obter um URL do meu aplicativo, como faço para retornar esses dados ao aplicativo de chamada? Eu assumi erroneamente SetResult e Finish, também assumi erroneamente StartActivityForResult, mas deve haver uma maneira de fazer isso. Eu sei como obter dados no meu aplicativo de outro aplicativo, mas não o mesmo em troca.
POSSÍVEL SOLUÇÃO PARCIAL - ATUALIZAÇÃO, FALHAS
Portanto, tenho que configurar uma interface no meu PCL e chamar o método no manipulador selecionado do item de exibição de lista. No aplicativo Android, posso fazer o seguinte:
Intent result = new Intent("com.example.RESULT_ACTION", Uri.parse("content://result_url"));
setResult(Activity.RESULT_OK, result);
finish();
(fonte:https://developer.android.com/training/basics/intents/filters.html)
Isso parece correto e como eu implementaria a mesma coisa no iOS?
FIM
Excluí minha pergunta anterior porque não consegui explicar o problema com clareza, então aqui vai.
Eu tenho um aplicativo Xamarin Forms, quero usar uma seção deste aplicativo como uma galeria. Atualmente, tenho imagens exibidas em uma lista e tenho um conjunto de filtros de intenção que inicia esta página quando você seleciona o aplicativo como a fonte de uma imagem (como fazer upload de imagem no Facebook).
Meu problema é que não sei como retornar os dados (a imagem selecionada) de volta ao aplicativo / página da web que fez a solicitação. No Android, eu entendo que você usaria StartActivityForResult e OnActivityResult para lidar com isso, mas estou usando o Xamarin Forms (Android, iOS, UWP) e não consigo encontrar uma solução que possa ser usada em várias plataformas.
Apenas um link para a documentação que cobre isso seria ótimo, mas se você tiver um exemplo, melhor ainda.
obrigado
EDITAR
Aqui está o código usado para iniciar o aplicativo. Estou interessado em recuperar dados doIntent.ActionPick after o usuário selecionou uma imagem de umExibição de lista, que está em umPágina de conteúdo no PCL.
[Activity(Label = "", Icon = "@drawable/icon", Theme = "@style/DefaultTheme", MainLauncher = true, LaunchMode = LaunchMode.SingleTop,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
[IntentFilter(new[] { Intent.ActionSend }, Categories = new[] { Intent.CategoryDefault }, DataMimeType = @"*/*")]
[IntentFilter(new[] { Intent.ActionView, Intent.A,ctionPick, Intent.ActionGetContent }, Categories = new[] { Intent.CategoryDefault, Intent.CategoryOpenable }, DataMimeType = @"*/*")]
public class MainActivity : FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
try
{
base.OnCreate(bundle);
CurrentPlatform.Init();
Xamarin.Forms.Forms.Init(this, bundle);
App _app = new App();
LoadApplication(_app);
if (Intent.Action == Intent.ActionSend)
{
var image = Intent.ClipData.GetItemAt(0);
var imageStream = ContentResolver.OpenInputStream(image.Uri);
var memOfImage = new System.IO.MemoryStream();
imageStream.CopyTo(memOfImage);
_app.UploadManager(memOfImage.ToArray()); //This allows me to upload images to my app
}
else if (Intent.Action == Intent.ActionPick)
{
_app.SelectManager(); //here is where I need help
}
else
{
_app.AuthManager(); //this is the default route
}
}
catch (Exception e)
{
}
}