次の方法で共有


IOnReceiveContentListener.OnReceiveContent(View, ContentInfo) メソッド

定義

指定されたコンテンツを受け取ります。

[Android.Runtime.Register("onReceiveContent", "(Landroid/view/View;Landroid/view/ContentInfo;)Landroid/view/ContentInfo;", "GetOnReceiveContent_Landroid_view_View_Landroid_view_ContentInfo_Handler:Android.Views.IOnReceiveContentListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=31)]
public Android.Views.ContentInfo? OnReceiveContent (Android.Views.View view, Android.Views.ContentInfo payload);
[<Android.Runtime.Register("onReceiveContent", "(Landroid/view/View;Landroid/view/ContentInfo;)Landroid/view/ContentInfo;", "GetOnReceiveContent_Landroid_view_View_Landroid_view_ContentInfo_Handler:Android.Views.IOnReceiveContentListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=31)>]
abstract member OnReceiveContent : Android.Views.View * Android.Views.ContentInfo -> Android.Views.ContentInfo

パラメーター

view
View

コンテンツの挿入が要求されたビュー。

payload
ContentInfo

挿入するコンテンツと関連するメタデータ。 ペイロードには複数の項目が含まれている場合があり、MIME の種類が異なる場合があります (画像項目やテキスト 項目など)。 ペイロードには、MIME タイプがリスナー時 View#setOnReceiveContentListener setting に指定された MIME タイプのリストにない項目も含まれる場合があります。 これらの項目の場合、リスナーはコンテンツを拒否したり (既定のプラットフォーム動作に延期)、その他のフォールバック ロジック (ユーザーに適切なメッセージを表示するなど) を実行したりできます。

戻り値

処理をプラットフォームに委任する必要がある、渡されたコンテンツの部分。 すべてのコンテンツが何らかの方法で処理された場合は null を返します。 コンテンツの実際の挿入は、バックグラウンドで非同期的に処理される場合があり、このメソッドが null を返した場合でも成功しない場合もあります。 たとえば、アプリがその種類のコンテンツに対するアプリのサイズ制限を超えると、最終的に項目が挿入されない場合があります。

属性

注釈

指定されたコンテンツを受け取ります。

実装では、関心のあるコンテンツ項目を処理し、すべての未処理の項目を返して、アプリ固有の処理がないコンテンツの既定のプラットフォーム動作を保持する必要があります。 たとえば、実装では、コンテンツ URI の処理 (画像の挿入などのサポートを提供するため) を提供し、テキストを挿入するための一般的な動作を保持するために、テキストの処理をプラットフォームに委任できます。 サンプル実装については、javadoc クラスを参照してください。

<h3>異なるコンテンツ<の処理/h3><ul><li>Text。 がContentInfo#SOURCE_AUTOFILL autofill指定されているContentInfo#getSource() source場合、ビューのコンテンツは、渡されたテキストに完全に置き換える必要があります。 オートフィル以外のソースの場合、渡されたテキストは現在の選択範囲を上書きするか、選択範囲がない場合は現在のカーソル位置に挿入する必要があります。 <li>テキスト以外のコンテンツ (画像など)。 ウィジェットがこれをサポートしている場合は、コンテンツをインラインで挿入することも、添付ファイルとして追加することもできます (完全に別のビューに表示される可能性があります)。 </ul>

<h3>URI アクセス許可</h3>

android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION Read permissions は、このリスナーに渡されるペイロード内の任意 android.content.ContentResolver#SCHEME_CONTENT content URIs のプラットフォームによって自動的に付与されます。 アクセス許可は一時的なものであり、プラットフォームによって自動的にリリースされます。

通常、コンテンツの処理は、サービスまたはアクティビティで行う必要があります。 実行時間の長い処理では、使用 androidx.work.WorkManager することをお勧めします。 これを実装する場合、アクセス許可は、使用してコンテンツ android.content.Intent#setClipData Intent.setClipDataandroid.content.Intent#addFlags(int) setting フラグ android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION FLAG_GRANT_READ_URI_PERMISSIONを渡すことによって、ターゲット サービスまたはアクティビティに拡張する必要があります。

または、現在のコンテキスト内でバックグラウンド スレッドを使用してコンテンツを処理する場合は、オブジェクトへの参照を payload 維持して、アクセス許可が途中で取り消されないようにする必要があります。

の Java ドキュメントandroid.view.OnReceiveContentListener.onReceiveContent(android.view.View, android.view.ContentInfo)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象