我需要检查用户是否查看了文档(pdf,xls,docx,ppt..etc)。在某些用户的设备中,没有用于打开某些文档类型的应用程序。在这种情况下,我需要知道用户没有打开/查看文档。
这是使用xamarin表单开发的android应用。使用下面的代码打开文档。如果有用于打开相应文档的应用程序,则此方法工作正常。但是,如果没有可打开该文档的应用程序,它将显示空白活动,标题为“选择应用程序:”
...other code here...
var chooserIntent = Intent.CreateChooser(intent, "Choose an Application:");
activity.StartActivityForResult(chooserIntent, 10);
答案 0 :(得分:0)
您可以通过Android文件MIME type
进行检查。请参考以下代码
Dictionary<string, string> matchArray = new Dictionary<string, string>();
matchArray.Add(".3gp", "video/3gpp");
matchArray.Add(".apk", "application/vnd.android.package-archive");
matchArray.Add(".doc", "application/msword");
matchArray.Add(".gif", "image/gif");
matchArray.Add(".wps", "application/vnd.ms-works");
matchArray.Add(".pdf", "application/pdf");
matchArray.Add(".ppt", "application/vnd.ms-powerpoint");
matchArray.Add(".png", "image/png");
//...
public void OpenFileByPath(Context context, string path)
{
if (context == null || path == null)
return;
string type = "";
foreach (string key in matchArray.Keys)
{
if (path.Contains(key))
{
type = matchArray[key];
break;
}
}
if (type == "")
{
//there is no app can open the file ,do some you want
}
else
{
// open your file
}
}
您可以通过从互联网上搜索来添加有关MIME类型的更多键值