如何使用android Intent选择文件内容

时间:2017-11-09 13:21:13

标签: android-intent get xamarin.android

我有以下代码来浏览并从android文件系统中选择一个文件

Intent intent = new Intent(Intent.ActionGetContent);
intent.SetType("*/*");
intent.AddCategory(Intent.CategoryOpenable);
StartActivityForResult(Intent.CreateChooser(intent, "Select a file"),0);

现在我想获取所选文件的内容。我读到了,要做到这一点,我必须在

中加入一些代码
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
}

但是这个代码永远不会被调用,并且从给出的示例中我不太了解要放在那里的内容。我想要读取的文件是一个CSV文件,我希望将其数据放入数组中。

1 个答案:

答案 0 :(得分:0)

从android文件系统中选择文件时,您可以获取文件的路径,例如:

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
    base.OnActivityResult(requestCode, resultCode, data);
    if (requestCode == 0)
    {
        var uri = data.Data;
        string path = GetActualPathFromFile(uri);
        System.Diagnostics.Debug.WriteLine("File path == " + path);        
    }
}

GetActualPathFromFile(uri)方法是从Android.Net.Uri获取实际路径,对于完整代码,您可以参考:How to get actual path from Uri xamarin android

获取文件路径后,您可以参考以下内容获取CSV文件内容:Reading CSV files using C#