是否可以将文本、图像和文件共享到使用 Nativescript 编写的 Android 或 iOS 应用程序中?

Posted

技术标签:

【中文标题】是否可以将文本、图像和文件共享到使用 Nativescript 编写的 Android 或 iOS 应用程序中?【英文标题】:Is it possible to share text, image and file into an Android or iOS app written with Nativescript? 【发布时间】:2019-02-21 16:53:33 【问题描述】:

我希望我的应用程序列在其他应用程序的共享选项中,以便我可以接收文本、图像或文件。是否可以使用 Nativescript 做到这一点,如果可以,如何做?

【问题讨论】:

您可以看到它是如何通过原生 androidios 完成的,并通过访问相同的原生 API 在 NativeScript 中实现它。 Android 的起点是这里developer.android.com/training/sharing/receive#java 如果我们有一个现成的解决方案会更好,但我会尝试这个,如果它有效,我会在这里分享。谢谢。 【参考方案1】:

这里是a POC demo app,它演示了如何使用 NativeScript 在 Android 上实现上述功能。只是as in native Android 我正在覆盖Activity onCreate 方法并提供意图逻辑。

intent filters are added in AdnroidManifest.xml

然后onCreate方法被覆盖

application.android.on(application.AndroidApplication.activityCreatedEvent, function (args) 
    let activity = args.activity;
    // Get intent, action and MIME type
    let intent = activity.getIntent();
    let action = intent.getAction();
    let type = intent.getType();

    if (android.content.Intent.ACTION_SEND === action && type != null) 
        if (type.startsWith("text/")) 
            handleSendText(intent); // Handle text being sent
         else if (type.startsWith("image/")) 
            handleSendImage(intent); // Handle single image being sent
        
     else if (android.content.Intent.ACTION_SEND_MULTIPLE === action && type != null) 
        if (type.startsWith("image/")) 
            handleSendMultipleImages(intent); // Handle multiple images being sent
        
     else 
        // Handle other intents, such as being started from the home screen
    
);

【讨论】:

谢谢。我认为最难的部分是 iOS。我将在 NativeScript 博客上尝试今天的应用程序示例。但我也想使用 Angular。我不知道在同一个项目中是否可以使用两个不同的 Angular 应用程序。 嗨,iOS 部分怎么样,因为我没有找到任何 NativeScript 的示例/教程,有人找到方法了吗? 在 iOS 上,上述情况更复杂,因为它需要在 iOS 应用程序中启用共享扩展。目前,NativeScript 并未正式支持应用扩展,但您仍然可以在此处查看如何启用它们 github.com/NativeScript/nativescript-cli/issues/3965 和此处 nativescript.org/blog/… 更多关于原生 iOS 分享扩展在这里developer.apple.com/library/archive/documentation/General/…

以上是关于是否可以将文本、图像和文件共享到使用 Nativescript 编写的 Android 或 iOS 应用程序中?的主要内容,如果未能解决你的问题,请参考以下文章

React-native-android - 如何将图像保存到Android文件系统并在手机的“图库”中查看

使用 Expo 在 react-native 上共享图像和文件

如何在 React Native 中向图像添加文本?

是否可以从 React-Native 中的图像中获取二进制数据?

React Native:如何创建文本文件并将其保存到外部存储

使用android意图将带有图像的文本共享到instagram