打开本地文件

时间:2018-04-10 10:04:20

标签: c# android xamarin xamarin.forms xamarin.android

我试图在默认应用中打开本地文件。

Intent intent = new Intent(Intent.ActionView);
var file = new File("content://" + path);
var uri = FileProvider.GetUriForFile(Application.Context, BuildConfig.ApplicationId + ".provider", file);
intent.SetDataAndType(uri, GetMimeType(path));
intent.SetFlags(ActivityFlags.ClearWhenTaskReset | ActivityFlags.NewTask);
intent.AddFlags(ActivityFlags.GrantReadUriPermission);
Application.Context.StartActivity(intent);

当它呼叫FileProvider.GetUriForFile时崩溃。我发现我应该将提供者添加到androidmanifest.xml

<provider android:name="android.support.v4.content.FileProvider" 
                android:authorities="PACKAGENAME.fileprovider" 
                android:exported="false" 
                android:grantUriPermissions="true">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" 
                android:resource="@xml/file_paths"></meta-data>
        </provider>

但我无法在androidmanifest.xml android项目中找到Xamarin.Forms。如何在Xamarin.Forms中打开此文件?

1 个答案:

答案 0 :(得分:0)

您可以在属性下的.Android项目中找到androidmanifest.xml文件。