Javascript Google文档和Ms Word应用程序未显示在chooser中
在我的应用程序中,我有一个指向位于服务器上的docx文件的链接。我想在另一个可以显示docx文件的应用程序中显示此文件,如Google Docs或Microsoft Word。 当我显示选择器时,既不显示Google文档也不显示Microsoft Word(是的,它们已安装),只显示OfficeSuite应用程序。Javascript Google文档和Ms Word应用程序未显示在chooser中,javascript,android,android-intent,nativescript,Javascript,Android,Android Intent,Nativescript,在我的应用程序中,我有一个指向位于服务器上的docx文件的链接。我想在另一个可以显示docx文件的应用程序中显示此文件,如Google Docs或Microsoft Word。 当我显示选择器时,既不显示Google文档也不显示Microsoft Word(是的,它们已安装),只显示OfficeSuite应用程序。 有人知道这是为什么吗 这是我的代码: var uri = android.net.Uri.parse(httpUrlString); var extension = android.
有人知道这是为什么吗 这是我的代码:
var uri = android.net.Uri.parse(httpUrlString);
var extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(uri.toString());
var mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
var intent = new android.content.Intent(android.content.Intent.ACTION_VIEW);
intent.setFlags(android.content.Intent.FLAG_ACTIVITY_NO_HISTORY);
if (extension === "" || mimetype == null) {
// if there is no extension or there is no definite mimetype, still try to open the file
intent.setDataAndType(uri, "text/*");
} else {
intent.setDataAndType(uri, mimetype);
}
var packageManager = application.android.context.getPackageManager();
var activities = packageManager.queryIntentActivities(intent, android.content.pm.PackageManager.MATCH_DEFAULT_ONLY);
var isIntentSafe = activities.size() > 0;
if (isIntentSafe) {
try {
application.android.startActivity.startActivity(android.content.Intent.createChooser(intent, "Åben Fil med"));
} catch (e) {
console.log(e);
}
}
我已经在索尼、LG和三星手机上试用过,都是一样的。我猜您已经为扩展名为*.docx的文件设置了一个默认应用程序,这个默认应用程序是OfficeSuite 作为一种潜在的解决方法,您可以尝试将标志从仅匹配默认值更改为匹配所有值 您还可以重置设备上的默认应用
我猜您已经为扩展名为*.docx的文件设置了一个默认应用程序,该默认应用程序是OfficeSuite 作为一种潜在的解决方法,您可以尝试将标志从仅匹配默认值更改为匹配所有值 您还可以重置设备上的默认应用
好吧,我想我找到了原因。
看起来Google Docs应用程序和Microsoft Word应用程序无法处理http uri(.),但如果我将文件下载到手机,然后解析文件uri(file:///....)这很有效。好吧,我想我找到了原因。
看起来Google Docs应用程序和Microsoft Word应用程序无法处理http uri(.),但如果我将文件下载到手机,然后解析文件uri(file:///....)它工作得很好。谢谢你的回答,不幸的是,这不起作用。*.docx没有默认应用程序,如果我将MATCH_default_ONLY更改为MATCH_ALL,我仍然只能选择OfficeSuite。感谢您的回答,不幸的是,这不起作用。*.docx没有默认应用程序,如果我将MATCH_default_ONLY更改为MATCH_ALL,我仍然只能选择OfficeSuite。