分享一些东西到phonegap应用程序

kar*_*cas 24 phonegap-plugins cordova phonegap-build

有没有办法注册一个应用程序菜单中出现的phonegap应用程序?

在此输入图像描述

Séb*_*mer 42

要显示在此列表中,您必须修改AndroidManifest.xml文件并在您的活动下添加以下行:

<intent-filter> 
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="text/plain" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

这将使您的应用程序出现在列表中.现在我想你可能也想知道如何在你的代码中处理这个问题.当另一个应用程序要与您共享一些文本时,它将使用Android"Intent"启动您的应用程序.为了能够使用Intents,您需要一个PhoneGap插件.我认为WebIntent可能适合你.这将是代码:

// deviceready is PhoneGap's init event
document.addEventListener('deviceready', function () {
  window.plugins.webintent.getExtra(WebIntent.EXTRA\_TEXT, function (url) {
    // url is the value of EXTRA_TEXT 
  }, function() {
    // There was no extra supplied.
  });
});
Run Code Online (Sandbox Code Playgroud)

有关WebIntent的更多信息,请访问:http://smus.com/android-phonegap-plugins/

注意:我认为你不能用PhoneGap Build做到这一点虽然......你只能使用支持的插件,并且不能更改AndroidManifest.xml文件.你可能不得不去科尔多瓦路线并在你的机器上构建一切.


编辑:有一些人在iOS上询问如何做到这一点.有两个步骤:

  1. 通过在info.plist中添加相关信息,将您的应用与正确的文件类型关联相关联.这个SO答案解释了如何做到这一点:如何将文件类型与iPhone应用程序相关联?.这会使您的应用出现在列表中,但您的应用尚未收到数据.
  2. 现在,您的应用程序将使用新参数启动.您现在必须能够读取这些参数.在SO上检查这个问题/答案,它确切地说:如何将参数传递给构建在Phonegap上的app