Xamarin.Essentials: CompartirXamarin.Essentials: Share

La clase Share permite que una aplicación comparta datos como texto y vínculos web con otras aplicaciones del dispositivo.The Share class enables an application to share data such as text and web links to other applications on the device.

Primeros pasosGet started

Para empezar a usar esta API, lea la guía de introducción para Xamarin.Essentials con el fin de asegurarse de que la biblioteca está correctamente instalada y configurada en los proyectos.To start using this API, read the getting started guide for Xamarin.Essentials to ensure the library is properly installed and set up in your projects.

Uso de ShareUsing Share

Agregue una referencia a Xamarin.Essentials en su clase:Add a reference to Xamarin.Essentials in your class:

using Xamarin.Essentials;

Share funciona mediante una llamada al método RequestAsync con una carga de solicitud de datos que incluye información para compartir con otras aplicaciones.The Share functionality works by calling the RequestAsync method with a data request payload that includes information to share to other applications. Se pueden combinar texto y Uri, cada plataforma controlara el filtrado basado en el contenido.Text and Uri can be mixed and each platform will handle filtering based on content.


public class ShareTest
{
    public async Task ShareText(string text)
    {
        await Share.RequestAsync(new ShareTextRequest
            {
                Text = text,
                Title = "Share Text"
            });
    }

    public async Task ShareUri(string uri)
    {
        await Share.RequestAsync(new ShareTextRequest
            {
                Uri = uri,
                Title = "Share Web Link"
            });
    }
}

Interfaz de usuario para compartir con una aplicación externa que aparece cuando se realiza la solicitud:User interface to share to external application that appears when request is made:

Compartir

Diferencias entre plataformasPlatform Differences

  • La propiedad Subject se usa para el asunto deseado de un mensaje.Subject property is used for desired subject of a message.

ArchivosFiles

Características en versión preliminar

El uso compartido de archivos está disponible como versión preliminar experimental en Xamarin.Essentials versión 1.1.0.Sharing files is available as an experimental preview in Xamarin.Essentials version 1.1.0. Esta característica permite que una aplicación comparta archivos con otras aplicaciones del dispositivo.This features enables an app to share files to other applications on the device. Para habilitar esta característica, establezca la siguiente propiedad en el código de inicio de la aplicación:To enable this feature set the following property in your app's startup code:

ExperimentalFeatures.Enable(ExperimentalFeatures.ShareFileRequest);

Una vez que se haya habilitado la característica, se puede compartir cualquier archivo.After the feature enabled any file can be shared. Xamarin.Essentials detectará automáticamente el tipo de archivo (MIME) y solicitará el uso compartido.Xamarin.Essentials will automatically detect the file type (MIME) and request a share. Cada plataforma podría admitir únicamente determinadas extensiones de archivo.Each platform may only support specific file extensions.

A continuación se muestra un ejemplo en el que se escribe texto en el disco y se comparte con otras aplicaciones:Here is a sample of writing text to disk and sharing it to other apps:

var fn =  "Attachment.txt";
var file = Path.Combine(FileSystem.CacheDirectory, fn);
File.WriteAllText(file, "Hello World");

await Share.RequestAsync(new ShareFileRequest
{
    Title = Title,
    File = new ShareFile(file)
});

APIAPI

Obtenga más información sobre The Xamarin Show en Channel 9 y YouTube.Find more of The Xamarin Show on Channel 9 and YouTube.