我正在使用 React Native 共享方法 (https://facebook.github.io/react-native/docs/share.html) 在 Android 上共享内容。
根据文档,我们可以通过以下方式使用它:
Share.share({
message: 'React Native | A framework for building native apps using React'
})
.then((result) => {
console.log(result.action) // returns sharedAction
})
.catch((error) => {
console.log(error)
})
因此,当我们调用Share
方法时,我们将在then
中得到结果并出现弹出窗口,其中包含我们可以共享消息内容的应用程序列表。
问题:
弹出窗口还包含一个取消
按钮,因此当用户单击它时,窗口会关闭,但是在文档中没有可用/提到的方法来捕获它。
有什么方法可以捕获取消事件,因为我想在用户点击它时执行一些操作。
感谢副词。 :)
最佳答案
股票有期权dismissedAction但不幸的是,这只是 IOS。您可以使用 react-native-share 将 prop "failOnCancel"设置为 true 它可以在 android 和 ios 上运行
示例代码
import React, { Component } from "react";
import { Button } from "react-native";
import Share from "react-native-share";
export default class ShareExample extends Component {
onShare = async () => {
const shareOptions = {
title: "Share file",
social: Share.Social.EMAIL,
failOnCancel: true
};
try {
const ShareResponse = await Share.open(shareOptions);
//setResult(JSON.stringify(ShareResponse, null, 2));
} catch (error) {
console.log("Error =>", error);
}
};
render() {
return <Button onPress={this.onShare} title="Share" />;
}
}
应用预览
关于android - React Native - 共享方法取消事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44095828/