【发布时间】:2017-07-28 08:58:56
【问题描述】:
我正在尝试打开用户只能选择 .xml 文件的特殊文件夹。所以,我使用 SetDataAndType 作为意图。在新版本的 android 中一切正常(经过测试的 api 21.. 25)。但它不适用于 api 16。这是我使用的代码:
var intent = new Intent();
Android.Net.Uri contentURI = null;
if (_existingConfig != null)
{
if (requestCode == ASSETS_SELECT_CODE && !string.IsNullOrEmpty(_existingConfig.AssetsPath))
{
contentURI = Android.Net.Uri.FromFile(new Java.IO.File(_existingConfig.AssetsPath));
}
else if (!string.IsNullOrEmpty(_existingConfig.GoodsPath))
{
contentURI = Android.Net.Uri.FromFile(new Java.IO.File(_existingConfig.GoodsPath));
}
}
if (contentURI != null)
{
intent.SetDataAndType(contentURI, "text/xml");
}
else
{
intent.SetType("text/xml");
}
if (Build.VERSION.SdkInt < BuildVersionCodes.Kitkat)
{
intent.SetAction(Intent.ActionGetContent);
StartActivityForResult(Intent.CreateChooser(intent, Resources.GetString(Resource.String.select_xml_file)),
requestCode);
}
else
{
intent.SetAction(Intent.ActionOpenDocument);
StartActivityForResult(intent, requestCode);
}
每次都显示相同的窗口
【问题讨论】:
-
任何堆栈跟踪?
-
不,没什么:/
-
特殊文件夹在哪里?
标签: android android-intent xamarin xamarin.android