IOnReceiveContentListener 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
應用程式接聽程式可實作插入內容的處理。
[Android.Runtime.Register("android/view/OnReceiveContentListener", "", "Android.Views.IOnReceiveContentListenerInvoker", ApiSince=31)]
public interface IOnReceiveContentListener : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/view/OnReceiveContentListener", "", "Android.Views.IOnReceiveContentListenerInvoker", ApiSince=31)>]
type IOnReceiveContentListener = interface
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 屬性
- 實作
備註
應用程式接聽程式可實作插入內容的處理。 內容可以是文字和非文字(純文字/樣式文字、HTML、影像、影片、音訊檔案等)。
這個接聽程式可以使用 附加至不同類型的UI元件 View#setOnReceiveContentListener
。
以下是處理內容 URI 的範例實作,並將文字的處理和所有其他專案委派給 platform:<br>
// (1) Define the listener
public class MyReceiver implements OnReceiveContentListener {
public static final String[] MIME_TYPES = new String[] {"image/*", "video/*"};
@Override
public ContentInfo onReceiveContent(View view, ContentInfo payload) {
Pair<ContentInfo, ContentInfo> split =
ContentInfoCompat.partition(payload, item -> item.getUri() != null);
ContentInfo uriContent = split.first;
ContentInfo remaining = split.second;
if (uriContent != null) {
ClipData clip = uriContent.getClip();
for (int i = 0; i < clip.getItemCount(); i++) {
Uri uri = clip.getItemAt(i).getUri();
// ... app-specific logic to handle the URI ...
}
}
// Return anything that we didn't handle ourselves. This preserves the default platform
// behavior for text and anything else for which we are not implementing custom handling.
return remaining;
}
}
// (2) Register the listener
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
// ...
EditText myInput = findViewById(R.id.my_input);
myInput.setOnReceiveContentListener(MyReceiver.MIME_TYPES, new MyReceiver());
}
的 android.view.OnReceiveContentListener
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
屬性
Handle |
取得基礎 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
JniIdentityHashCode |
傳回包裝實例的 值 |
JniManagedPeerState |
受控對等的狀態。 (繼承來源 IJavaPeerable) |
JniPeerMembers |
成員存取和調用支援。 (繼承來源 IJavaPeerable) |
PeerReference |
傳 JniObjectReference 回已包裝 Java 物件實例的 。 (繼承來源 IJavaPeerable) |
方法
Disposed() |
處置實例時呼叫。 (繼承來源 IJavaPeerable) |
DisposeUnlessReferenced() |
如果這個實例沒有未完成的參考,則呼叫 |
Finalized() |
實例完成時呼叫。 (繼承來源 IJavaPeerable) |
OnReceiveContent(View, ContentInfo) |
接收指定的內容。 |
SetJniIdentityHashCode(Int32) |
設定所 |
SetJniManagedPeerState(JniManagedPeerStates) |
應用程式接聽程式可實作插入內容的處理。 (繼承來源 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
設定所 |
UnregisterFromRuntime() |
取消註冊此實例,讓運行時間不會從未來的 Java.Interop.JniRuntime+JniValueManager.PeekValue 調用傳回它。 (繼承來源 IJavaPeerable) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
應用程式接聽程式可實作插入內容的處理。 |
GetJniTypeName(IJavaPeerable) |
應用程式接聽程式可實作插入內容的處理。 |