ber*_*ben 20 android ios cordova ionic-framework ionic3
当用户单击图像的共享按钮时,我试图让"离子"应用程序出现在"共享"列表中.
据我所知,我必须添加类似的东西
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
到了AndroidManifest.xml.我认为,我可以使用cordova-custom-config插件.
然后,我必须以某种方式处理这个意图,这对我来说是棘手的.看起来像目前为意图维护的唯一的cordova插件就是这个.我尝试过这样使用它:
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));
}
);
}
Run Code Online (Sandbox Code Playgroud)
但是这样我得到一个错误,即window.plugins是未定义的.我真的不知道如何将它与Ionic结合起来.
此外,这仅适用于Android,我也想为iOS工作. 这个问题是相关的,并且提到了一种方法来为iOS做这件事,但它已经有4年了(链接的iOS部分5年),并且在答案中为Android指定的项目webintent甚至不再存在.
如果有人可以帮助我在这里会很棒.
还有关系:
window.plugins特定于Android.window.plugins,Android特定.更新
所有答案都只关注Android,我真的希望有人能指出我正确的iOS方向,因为我需要更多......
赏金
经过长时间的考虑,我已经结束了给予@Ghandi赏金.虽然没有人能给出完整的答案,但他是唯一一个试图回答整个问题的人 - 包括iOS部分.我没想到一个完整的代码解决方案,只是Android和iOS正确方向的指针,这就是他最接近所有答案的东西.我知道这是一个非常广泛的问题,我要感谢所有花时间回答和/或评论这个问题的人.
Android
正如我在上面的问题中描述的那样,你必须将这些行添加到AndroidManifest.xml.Android将使您的应用程序显示在共享列表中.您的应用收到的数据必须通过所谓的Intent处理.为此,您可以使用Ionic Native - Web Intent.截至9.5.2017,由于Plugin Ionic Native使用不再存在,因此无法使用.然而我在Github上创建了一个问题,我被告知Ionic Native的下一个版本(我认为3.7.0)应该在接下来的两周内发布,应该通过使用我上面提到的问题中提到的插件来解决这个问题.已经.这解决了必须亲自玩Ionic Framework并简单地使用Ionic Native的问题.
iOS
在iOS中它似乎有点棘手,而且在网络上找不到它.你最好按照@Ghandi在下面的答案中提供的链接.
| 归档时间: |
|
| 查看次数: |
5649 次 |
| 最近记录: |