Xamarin Android - 如何让SetDataAndType填充正确的应用程序? CreateChooser应用程序选择不会读取我的“文件管理器”应用程序

时间:2017-10-03 17:57:32

标签: c# android xamarin android-intent

目前我有一个按钮“转到文件夹”,它假设正是这样做:转到目标文件夹。我正在使用A OnPlus 3(7.1)和verizon droid(4.4)作为我的调试手机。当我点击按钮时,会发生三个响应:

[One Plus 3]

意图1,2 - 只要告诉我“没有应用程序可以执行此操作。”

我发现这很奇怪,因为我有OP3附带的默认应用程序,称为文件管理器,它应该被意图1和2读取......我想。

intent3 - 在OP3上,intent3(附在底部)转到“recent”文件夹,当你按下“汉堡包”菜单时,它会给出“打开选项”。然后我必须导航到指定的文件夹。此方法不起作用。

[Verizon Droid]

我目前没有安装任何特定的第三方应用程序,并希望看到android会提供哪些选项,我使用了这些相同的意图。

意图1,2,3 - 所有人都给我“没有应用程序可以执行此操作。”

为什么会这样?

代码

        Intent intent1 = new Intent(Intent.ActionView);
        Intent intent2 = new Intent(Intent.ActionView);
        Intent intent3 = new Intent(Intent.ActionGetContent);


        global::Android.Net.Uri uri = global::Android.Net.Uri.Parse(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "//ID/");

        intent.SetDataAndType(uri, "application/file");
        intent2.SetDataAndType(uri, "resource/file");
        intent3.SetDataAndType(uri, "resource/file");


        Forms.Context.StartActivity(Intent.CreateChooser(intent1, "Choose App Intent1"));
        Forms.Context.StartActivity(Intent.CreateChooser(intent2, "Choose App Intent2"));
        Forms.Context.StartActivity(intent3);

Intent1

0 个答案:

没有答案