Xamarin.Essentials:共有Xamarin.Essentials: Share

アプリケーションで Share クラスを使用すると、デバイス上の他のアプリケーションとテキストや Web リンクなどのデータを共有できます。The Share class enables an application to share data such as text and web links to other applications on the device.

作業開始Get started

この API の使用を始めるには、Xamarin.Essentials の概要ガイドを読み、ライブラリが正しくインストールされてプロジェクトに設定されていることを確認してください。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.

Share の使用Using Share

自分のクラスの Xamarin.Essentials に参照を追加します。Add a reference to Xamarin.Essentials in your class:

using Xamarin.Essentials;

Share 機能は、他のアプリケーションと共有する情報が含まれているデータ要求ペイロードを指定して RequestAsync メソッドを呼び出すことにより動作します。The Share functionality works by calling the RequestAsync method with a data request payload that includes information to share to other applications. テキストと URI を混在させることができ、各プラットフォームはコンテンツに基づいてフィルターを処理します。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"
            });
    }
}

要求が行われたときに表示される、外部アプリケーションを共有するためのユーザー インターフェイス:User interface to share to external application that appears when request is made:

共有

プラットフォームによる違いPlatform Differences

  • Subject プロパティは、メッセージの望ましい件名に使用されます。Subject property is used for desired subject of a message.

ファイルFiles

プレビュー機能

ファイルの共有は、Xamarin.Essentials バージョン 1.1.0 で実験的プレビューとして利用できます。Sharing files is available as an experimental preview in Xamarin.Essentials version 1.1.0. この機能により、アプリではデバイス上の他のアプリケーションとファイルを共有できます。This features enables an app to share files to other applications on the device. この機能を有効にするには、アプリのスタートアップ コードで次のプロパティを設定します。To enable this feature set the following property in your app's startup code:

ExperimentalFeatures.Enable(ExperimentalFeatures.ShareFileRequest);

機能を有効にした後は、すべてのファイルを共有できます。After the feature enabled any file can be shared. Xamarin.Essentials では、自動的にファイルの種類 (MIME) が検出されて、共有が要求されます。Xamarin.Essentials will automatically detect the file type (MIME) and request a share. 各プラットフォームでは、特定のファイル拡張子のみをサポートできます。Each platform may only support specific file extensions.

テキストをディスクに書き込んで他のアプリと共有するサンプルを次に示します。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

他の Xamarin ビデオは、Channel 9 および YouTube でご覧いただけます。Find more Xamarin videos on Channel 9 and YouTube.