Cordova应用程序接收从其他应用程序共享的内容 - iOS,Android和Windows应用商店应用

时间:2015-02-09 06:45:40

标签: android ios windows cordova share

我正在开发一个沟通者,我想将我的应用程序作为应用程序扩展暴露给本机设备,允许用户将本地Share菜单中的图像,文本,视频共享到我的Cordova应用程序。有没有办法在iOS,Android和Windows Store App上为Cordova应用程序执行此操作?

3 个答案:

答案 0 :(得分:3)

对于Android,这更容易,您可以使用cordova plugin

对于iOS来说很难,我已经记录了this here

答案 1 :(得分:1)

如果我理解正确,

首先,在android:sharedUserId="action.name"这两个应用的manifest标记中添加Manifest.xml。 (nativa应用程序和cordova应用程序)重要的是sharedUserId将是相同的。

第二次,在本机应用上保存此代码的对象。

SharedPreference prefs = context.getSharedPreferences(prefName, Activity.MODE_MULTI_PROCESS);

上次,您可以在cordova app上获取此代码的对象。

Context con = cordova.getActivity().getApplicationContext().createPackageContext("action.name", Context.MODE_MULTI_PROCESS);
SharedPreferences pref = con.getSharedPreferences("prefName", Context.MODE_MULTI_PROCESS);

答案 2 :(得分:0)

这是一个很好且仍然相关的问题。

对于iOS,解决方案在于为您的iOS应用程序创建共享扩展,幸运的是,此过程已经几乎自动化。

在我的研究过程中,我尝试使用Jean-Christophe Hoelt的精彩 cordova-plugin-openwith ,但遇到了几个问题。该插件用于接收在安装期间配置的一种类型的共享项(例如,URL,文本或图像)。此外,通过其当前实现,在Cordova应用程序中编写共享和选择接收器的注释是不同(本机和Cordova)上下文中的两个不同步骤,因此它对我来说并不是一个良好的用户体验。 / p>

我对此插件进行了这些和其他更正,并将其作为单独的插件发布: https://github.com/EternallLight/cordova-plugin-openwith-ios

如果你只需要收到一种类型的股票,比如说只有照片,那么cordova-plugin-openwith就可以了。但是,您仍然可以一次共享一个图像。

请注意,它仅适用于iOS,不适用于Android。