在NativeScript的当前状态下,是否可以创建一个在Android上侦听共享Intent的应用?
我想实现的是,例如,在Android上的Web浏览器中打开一个网站,点击共享,然后在共享目标列表中看到我的NativeScript应用程序。
我确实在原生Android应用上完成了这一点,但无法在NativeScript应用中使用。
<action android:name="android.intent.action.SEND"></action>
<category android:name="android.intent.category.DEFAULT"></category>
进入intent-filter,但这没有帮助。我的应用没有显示在共享目标列表中。
6条答案
按热度按时间q7solyqu1#
我自己也一直在寻找这个问题的解决方案,发现这里所有其他的答案都很有帮助。
然而,我对 NativeScript 还是个新手(只学了两天),实际上不知道在哪里以及如何实现所有代码位一起工作。
通过使用这里的答案,我可以继续搜索并找到一个完整的GITHUB示例:NickIliev/nativescript-receiving-shared-content
对于其他大一新生(或女新生)来说,如果你想找一个完整的例子,可以去repo目录下探索
/demo/app/
目录下的代码,这对我很有帮助,我希望对你也有帮助。uubf1zoe2#
NativeScript应该支持这种场景。下面是我的AndroidManifest在
app/App_resources/Android
中的默认引导应用程序的外观:edit:非常简单的实现,可以将Intent发送到我的任何其他应用程序:
iyfjxgzm3#
除了您必须在AppManifest.xml中添加的Intent过滤器之外,请确保重新构建您的应用(livesync选项可能不会反映AppManifest.xml中的更改)
下面是基本共享的NativeScript实现
jslywgbw4#
首先在应用程序/应用程序_资源/安卓清单. xml中更新您的安卓清单. xml
添加如下Intent过滤器
然后在app.js中添加以下代码行
现在,您可以将第三方应用中的内容共享到您的应用。
eni9jsuy5#
由于这些答案在2023年都不正确,nativescript 7+的工作方式是
1.添加前面提到的Intent过滤器:
1.侦听activityNewIntentEvent。这是检索传入Intent并提取额外Intent的唯一方法:
eqqqjvef6#
如果有人正在寻找最新的NS7和NS8兼容版本,这对我和Android都适用。这是在NS8的抽屉模板应用程序上测试的。Javascript部分是主页. js,只需将其内容替换为下面的代码。
NS7和NS8的进口是不同的,这让人们感到困惑。
编辑您的Android清单. xml
Javascript