Xamarin Android - 如何 select 从 URI 打开视频应用程序?

Xamarin Android - How to select a video app to open from a URI?

好像,例如,我会 select 来自文件管理器的视频文件(或提供 URL)然后我想弹出一个询问我 "on which app do you want to play it on?", 比如 VLC 播放器。

我不确定如何为它构建工作意图。

我在 Java 中使用这段代码要求用户 select 一个视频,然后要求用户选择一个程序来打开它(将语法转换为 C# 非常容易,因为API 相同):

final int VIDEO_REQUEST_CODE = 5000;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_puzzle);

    Intent intent = new Intent(Intent.ACTION_PICK, 
                               MediaStore.Video.Media.EXTERNAL_CONTENT_URI);

    startActivityForResult(intent, VIDEO_REQUEST_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == VIDEO_REQUEST_CODE)
    {
        Uri videoUri = data.getData();

        Intent intent = new Intent();
        intent.setAction(android.content.Intent.ACTION_VIEW);

        MimeTypeMap mime = MimeTypeMap.getSingleton();
        ContentResolver resolver = this.getContentResolver();
        String type = mime.getExtensionFromMimeType(resolver.getType(videoUri));

        intent.setDataAndType(videoUri, type);

        this.startActivity(intent);
    }
}