我想向多个号码发送短信而不打开默认消息收发应用程序。
我尝试使用react-native-sms-x
,但是它没有得到维护,我的项目只是停留在编译过程中。
我还使用了react-native-sms
,但它打开了默认的Messaging App,该应用程序填充了一个用户号码和消息正文,还必须单击它的发送按钮。
答案 0 :(得分:0)
答案 1 :(得分:0)
从现在开始,仅在Android平台上,我使用react-native-sms-android 这是我的向多个用户发送短信的代码:
import Asms from "react-native-sms-android";
type Props = {};
export default class App extends Component<Props> {
constructor(Props) {
super(Props);
this.state = { FileNumbers: ['687867867867','8575774433'], Message:
"gjjgjgj" };
}
sendingSms = (Receivers, Messagex) => {
try {
Receivers.map(
async Numbers =>
await Asms.sms(Numbers, Messagex, "sendDirect", (err,message)
=> {
if (err) {
console.log(err);
} else {
console.log(message);
}
})
);
} catch (e) {
alert("" + e);
}
};
render() {
return (
<View style={styles.container}>
<TextInput
style={{
height: 40,
borderColor: "gray",
borderWidth: 1,
width: "90%"
}}
onChangeText={Message => this.setState({ Message })}
value={this.state.Message}
/>
<Button
title="SEND"
onPress={() =>
this.sendingSms(this.state.FileNumbers, this.state.Message)
}
/>
</View>
);
}
}
答案 2 :(得分:0)
import { Linking,Platform } from "react-native";
const url = (Platform.OS === 'android')
? 'sms:919999999999?body=your message'
: 'sms:919999999999'
Linking.canOpenURL(url).then(supported => {
if (!supported) {
console.log('Unsupported url: ' + url)
} else {
return Linking.openURL(url)
}
}).catch(err => console.error('An error occurred', err))
答案 3 :(得分:0)
在React应用程序中进行了大量研究和试验之后... 我发现this库可以正常工作,并且达到了在不进入默认消息环境的情况下发送消息的目标。
var phoneNumbers = {
"addressList": ["+911212121212", "+911212121212"]
};
var message = "This is automated test message"
SmsAndroid.autoSend(
phoneNumbers,
message,
(fail) => {
console.log('Failed with this error: ' + fail);
},
(success) => {
console.log('SMS sent successfully');
},
);
我希望它能对您有所帮助。不要忘记投票