如何在android上显示数据uri

如何在android上显示数据uri,android,ios,cordova,Android,Ios,Cordova,我试图在android和iOS设备上显示多种文件格式,包括PDF、Excel、Word、Power Point和.txt文件 我可以使用数据uri在iOS设备中显示所有这些不同的文件格式 例如,如果我想显示pdf文件,我会调用以下命令: window.open('data:application/pdf;base64,' + base64pdfdatastring, '_blank'); 但是,除文本外,所有文件格式都不起作用,文本的格式完全相同: window.open('data:text

我试图在android和iOS设备上显示多种文件格式,包括PDF、Excel、Word、Power Point和.txt文件

我可以使用数据uri在iOS设备中显示所有这些不同的文件格式

例如,如果我想显示pdf文件,我会调用以下命令:

window.open('data:application/pdf;base64,' + base64pdfdatastring, '_blank');
但是,除文本外,所有文件格式都不起作用,文本的格式完全相同:

window.open('data:text/plain;base64,' + base64textdatastring, '_blank');
这些文件可能包含敏感信息,因此google doc不是有效的解决方案

如何让android正确显示数据uri


谢谢

创建一个动作视图意图

    Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
        Uri data = Uri.parse(path);
        intent.setDataAndType(data, YOUR_MIME_TYPE); 
        startActivity(intent);
此外,您可能希望使用包管理器来确保在启动它之前某些东西可以处理意图

PackageManager packageManager = activity.getPackageManager();
        List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
                PackageManager.MATCH_DEFAULT_ONLY);
        if (list.size() > 0) 
                                      //Do Something
PackageManager-PackageManager=activity.getPackageManager();
列表=packageManager.QueryInputActivities(意图,
PackageManager.MATCH_(仅限默认值);
如果(list.size()>0)
//做点什么

我使用的是phonegap/cordova,我无法从javascript访问它,除非这是为了进入phonegap/cordova插件?啊,原来没有提到过,所以我只是假设你在使用SDK。我不熟悉phonegap/cordova,但我认为这一趋势被当作类似的问题提出,并得到了公认的答案。提到的childbrowser插件已被弃用,所有功能都已转移到inappbrowser插件。如果您查看的第142行以及,您将能够看到它做了相同的事情。但是,如果我调用参数为“\u system”而不是“\u blank”的函数,则不会发生任何事情。