Для Android:
определить IntentFilter
в вашем MainActivity
:
[Activity(Label = "@string/app_name", Theme = "@style/MyTheme", MainLauncher = true,LaunchMode =LaunchMode.SingleTask)]
[IntentFilter(new string[] { Intent.ActionSend },Categories = new string[] { Intent.CategoryDefault },DataMimeType = "image/*")]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
//if your activity LaunchMode not SingleTask or SingleTop,when you receive the share image,it will trigger in the OnCreate method
Android.Net.Uri imageUri = (Android.Net.Uri)intent.GetParcelableExtra(Intent.ExtraStream);
.....
}
//if lanch mode is singletask or singletop,it will trigger in the OnNewIntent method(This is recommended)
protected override void OnNewIntent(Intent intent)
{
base.OnNewIntent(intent);
Android.Net.Uri imageUri = (Android.Net.Uri)intent.GetParcelableExtra(Intent.ExtraStream);
}
}
Для ios
Вы должны создать share extension
, затем добавить ссылку на ваш ios проект, см. аналогичный случай