当用户单击图像的共享按钮时,我试图让“离子”应用程序出现在“共享”列表中.
据我所知,我必须添加类似的东西
<intent-filter> <action androID:name="androID.intent.action.SEND" /> <category androID:name="androID.intent.category.DEFAulT" /> <data androID:mimeType="image/*" /></intent-filter>
到AndroIDManifest.xml.我认为,我可以使用cordova-custom-config plugin做.
然后,我必须以某种方式处理这个意图,这对我来说是棘手的.似乎目前为意图维护的唯一cordova插件是this one.我尝试使用它像这样:
initializeApp() { this.platform.ready().then(() => { // Okay, so the platform is ready and our plugins are available. // Here you can do any higher level native things you might need. this.statusbar.styleDefault(); this.splashScreen.hIDe(); this.registerbroadcastReceiver(); }); } private registerbroadcastReceiver(){ window.plugins.intentShim.registerbroadcastReceiver({ filteractions: [ 'com.darryncampbell.cordova.plugin.broadcastIntent.ACTION' ] }, function(intent) { // broadcast received console.log('Received Intent: ' + JsON.stringify(intent.extras)); } ); }
但是这样我得到一个错误,即window.plugins是未定义的.我真的不知道如何将它与Ionic结合起来.
此外,这仅适用于AndroID,我也想为iOS工作.
This SO question是相关的,并提到了一种方法来为iOS做这个,但它大约4年(链接的iOS部分5年)和在答案中为AndroID指定的项目webintent甚至不再存在.
如果有人可以帮助我在这里会很棒.
还有关系:
> Cordova receive shared data from other app – 使用过时的插件,window.plugins,AndroID特定.
> Sending url to ionic android app via webintents from another app – 使用过时的插件,window.plugins,AndroID特定.
更新
所有答案都只关注AndroID,我真的希望有人能指出我正确的iOS方向,因为我需要更多……
最终结论&赏金
赏金
经过长时间的考虑,我已经结束了给予@Ghandi赏金.虽然没有人能给出完整的答案,但他是唯一一个试图回答整个问题的人 – 包括iOS部分.我没想到一个完整的代码解决方案,只是AndroID和iOS正确方向的指针,这就是他最接近所有答案的东西.我知道这是一个非常广泛的问题,我要感谢所有花时间回答和/或评论这个问题的人.
对于那些试图完成同样事情的人来说,这就是我对所有研究和答案的总结
AndroID的
正如我在上面的问题中已经描述的那样,您必须将这些行添加到AndroIDManifest.xml中. AndroID将使您的应用程序显示在共享列表中.您的应用程序收到的数据必须通过所谓的Intent来处理.为此,您可以使用Ionic Native – Web Intent.截至9.5.2017,由于Plugin Ionic Native使用的不再存在,因此无法使用.然而,我已经创建了一个issue on Github,我被告知Ionic Native的下一个版本(我认为3.7.0)应该在接下来的两周内发布,应该通过使用我上面提到的问题中提到的plugin来解决这个问题.这解决了必须亲自玩Ionic Framework并简单地使用Ionic Native的问题.
iOS版
在iOS中,它看起来有点棘手,而且在网络上也找不到它.你最好按照@Ghandi在下面的答案中提供的链接.
解决方法:
经过一些详细的分析,这是我可以得出的结论:
在AndroID中,您可以使用cordova-plugin-intent将您的应用程序添加到共享列表中,如here所述.您还可以通过在活动中添加intent过滤器来实现此目的,如here所述
在iOS中,这有点棘手,因为没有直接的插件或现成的解决方案来实现这一点.但是我可以得到的与iOS共享菜单中添加应用程序相关的最佳链接是getting listed in share menu该链接包含苹果文档以执行此 *** 作以及Info.pList中的一些调整以实现此目的.
这是我能想到的最好的答案.希望能帮助到你.干杯.
总结以上是内存溢出为你收集整理的android – 让Ionic应用程序出现在“共享”列表中并接收数据全部内容,希望文章能够帮你解决android – 让Ionic应用程序出现在“共享”列表中并接收数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)