当前位置: 首页 > 知识库问答 >
问题:

Cordova从其他应用程序接收共享数据

薛霄
2023-03-14

首先请不要把这个问题当作重复的问题。所有其他问题都是旧的,我已经尝试了其中大多数的解决方案,但没有一个奏效。

我正在开发一个Android应用程序,我已经将我的应用程序添加到共享Android菜单中。我想添加功能,这样如果用户在共享列表上单击我的应用,例如在Chrome浏览器或Google Drive应用中,我的应用将从该应用接收数据,例如从Chrome it wold URL。

我尝试过使用不同的插件,读过很多关于如何在我的应用程序中使用intent的帖子。不幸的是,它们都不起作用。我试过:

  • 通过另一个应用程序的网站向ionic android应用程序发送网址-这个看起来很有前途
  • https://www.npmjs.com/package/phonegap-webintent
  • https://github.com/napolitano/cordova-plugin-intent-这个看起来也很有希望
  • https://github.com/okwei2000/webintent
  • https://github.com/stample/cordova-sharingreceptor

有人用过吗?我的AndroidManifest。xml如下——关于意图的部分:

        <intent-filter android:label="@string/launcher_name">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <action android:name="android.intent.action.SEND_MULTIPLE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="*/*" />
        </intent-filter>

在我的config.xml我有:

<preference name="AndroidLaunchMode" value="singleTask" />

我没有得到我期待的数据。

当我使用https://github.com/napolitano/cordova-plugin-intent插件我明白了,但是clipItems元素丢失了,插件没用。

我做错了什么?

任何帮助赞赏。

共有1个答案

羊刚捷
2023-03-14

我终于做到了。我用https://github.com/napolitano/cordova-plugin-intentv0.1.3和

window.plugins.intent.setNewIntentHandler(function (intent) {
    // To get browser URL I had to use
    var subject = intent.extras['android.intent.extra.SUBJECT'];
    var url = intent.extras['android.intent.extra.TEXT'];
    // For Chrome, Opera and FireFox it works. For build in Android browser TEXT holds page title and URL joined with +
});

虽然版本0.1.3已经

window.plugins.intent.getRealPathFromContentUrl(contentUrl, function (realPath) {}, function () {});

ContentUrl对于不同的浏览器是不同的,例如Chrome它是uri,而在Android浏览器中构建它是文本。

我使用CLI安装了0.1.3版本

phonegap plugin add https://github.com/napolitano/cordova-plugin-intent.git#61a47ae8c28a62004eeff4ed96a6f3c64c271a16

我不能添加它使用标签在config.xml

我希望这能帮助其他人。

 类似资料:
  • 问题内容: 我希望当用户共享另一个应用程序(例如浏览器)的URL时,我的Android应用程序显示为一个选项。我该如何注册我的应用程序?我如何反应链接共享? 非常感谢。 编辑: 我试过像这样使用IntentFilter,但没有成功: 有任何想法吗? 问题答案: 您至少需要: 在清单中…至少会使其显示在“共享”列表中。 您缺少的最重要的部分是: 要使其实际执行某项操作,您需要一个Activity。

  • 我正在使用FB。允许用户使用此代码共享我的页面的ui: 当从 Android 移动应用程序中的嵌入式浏览器共享页面时,用户可以选择要用于打开共享对话框的应用程序。如果选择了脸书应用,则不会有回调响应。在普通的桌面浏览器中,一切都按预期工作。这种行为是预期的吗?

  • 我想用SharingContent将声音从原始文件夹共享到另一个应用程序 我使用此代码共享文本和字符串

  • 问题内容: 我有一个正在运行的Flask应用程序,该应用程序是根据我们在网上和Miguel Grinberg的“ Flask Web开发”书中找到的最佳实践组合设置的。 现在,我们需要第二个Python应用程序,它不是Web应用程序,并且需要访问与Flask应用程序相同的模型。我们想重复使用相同的课程模型,因此两个应用程序都可以从共享代码中受益。 我们删除了关于flask- sqlalchemy扩

  • 我试图让一个Ionic应用程序出现在“共享”列表中,当用户单击共享按钮时,例如一个图像。 据我所知,我必须补充一些东西,比如 到。我想我可以使用cordova定制配置插件来实现这一点<然而,我必须以某种方式处理这种意图,这就是我变得棘手的地方。似乎唯一一个目前正在维护的cordova插件就是这个。我试着这样使用它: 但是这样我得到一个错误,window.plugins是未定义的。我真的不知道如何把