我怎么知道已选择Instagram按钮?

时间:2020-03-31 08:31:46

标签: ios react-native

我怎么知道何时单击该应用程序?我正在使用React Native的'Share'。我想很快就会知道用户单击应用程序图标(例如Instagram),然后启动我自己的功能,而不是Instagram中的共享页面。如何捕获用户刚刚单击的应用程序图标?

现在,如果我单击该应用程序图标,它将移至该应用程序(例如Instagram)的共享页面,当我关闭它时,它会告诉我sharedAction是什么(太晚了!)。我根本不需要进入共享页面。

我需要知道何时,我已经选择了Instagram应用图标,以便可以启动自己的功能。

import { Share } from 'react-native' 

shareImage = async() => {

    const result = await Share.share(

      {
        message: 'Hello',
        url: "www.image...."
      },
    )
    .then(res => console.log(res))


    if (result.action === Share.sharedAction) {
      if (result.activityType) {
        // shared with activity type of result.activityType
      } else {
        // shared
      }
    } else if (result.action === Share.dismissedAction) {
      // dismissed
    }
}

See image here

1 个答案:

答案 0 :(得分:0)

通常,您可以从result.activityType获取信息。不幸的是,我不知道Instagram的activityType,但是您可以通过检查activityType来尝试一下。在下面,我有一个示例,我们要检测是否使用了剪贴板。

例如:

if (result.action === Share.sharedAction) {
      console.log(result.activityType) // here you can see the activityType
      if (result.activityType == "com.apple.UIKit.activity.CopyToPasteboard") {
        // Copy to Clipboard was used 
      }
      // first you have to check the activityType of instagram 
      if (result.activityType == "INSTAGRAM_ACITVITY_TYPE") {
        // Instagram share extension was used
      } 
    } else if (result.action === Share.dismissedAction) {
      // dismissed
}