作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我有一个指向服务器上 docx 文件的链接。我想在另一个可以显示 docx 文件的应用程序中显示此文件,例如 Google Docs 或 Microsoft Word。当我显示选择器时,Google Docs 或 Microsoft Word 均未显示(是的,它们已安装),仅显示 OfficeSuite 应用程序。
有谁知道这是为什么吗?
这是我的代码:
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。
作为一个潜在的解决方法,您可以尝试将标记从 MATCH_DEFAULT_ONLY 更改为 MATCH_ALL
您还可以重置设备上的默认应用
关于javascript - Google Docs 和 Ms Word 应用程序未显示在选择器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38198121/
我是一名优秀的程序员,十分优秀!