どのように“ハッピー新年”のSMSを送信する方法をネイティブのAndroid上で反応を使用して
13738 ワード
どのように簡単に“ハッピー新年”SMSを送信するには、Android上でネイティブの反応を使用して.
アプリ全体ビルドのコードはhttps://github.com/Merlier/rn_example_send_smsで利用可能です
要件は、ネイティブ>= 0.60 に反応します
最初に、新しい反応ネイティブプロジェクトを起動します.
それで、反応するネイティブパーミッションモジュールをインストールします.
反応ネイティブSMS
SMSを送信する
アプリ全体ビルドのコードはhttps://github.com/Merlier/rn_example_send_smsで利用可能です
始める
要件
最初に、新しい反応ネイティブプロジェクトを起動します.
$ npx react-native init rn_example_send_sms
モジュールをインストールします.$ npm install --save react-native-sms
次に、Android/app/src/main/androidmanifestでパーミッションを追加します.XML : <uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
ユーザに問い合わせることによって、SMS許可にアクセスするために、反応するネイティブ許可を必要とします.それで、反応するネイティブパーミッションモジュールをインストールします.
$ npm i --save react-native-permissions
反応ネイティブSMS
SMSを送信する
SMSを送信するには、“SETSMS”をチェックし、SMSのアクセス許可を要求する関数を呼び出す“sendSMS”機能をコード化します.その後、“sendSMS”機能は、“AutoSend”機能を介してSMSを送信するために反応ネイティブ取得SMS Androidのモジュールを使用します.
あなただけのアプリを変更する必要があります.このようなJS :
/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
* @flow strict-local
*/
import React, {useState} from 'react';
import {
StyleSheet,
SafeAreaView,
View,
Button,
Text,
TextInput,
} from 'react-native';
import {check, request, RESULTS, PERMISSIONS} from 'react-native-permissions';
import SmsAndroid from 'react-native-get-sms-android';
const App: () => React$Node = () => {
const [phoneNumber, setPhoneNumber] = useState('');
const [message, setMessage] = useState('Happy new year!');
const getSMSPermission = async () => {
try {
const checkResult = await check(PERMISSIONS.ANDROID.SEND_SMS);
switch (checkResult) {
case RESULTS.DENIED:
const requestResult = await request(PERMISSIONS.ANDROID.SEND_SMS);
return Promise.resolve(requestResult);
case RESULTS.GRANTED:
return Promise.resolve(checkResult);
default:
return Promise.reject();
}
} catch (err) {
// console.log(err);
}
};
const sendSMS = async () => {
try {
await getSMSPermission();
SmsAndroid.autoSend(
phoneNumber,
message,
(fail) => {
console.log('Failed with this error: ' + fail);
},
(success) => {
console.log('SMS sent successfully');
},
);
} catch (err) {
// console.log(err)
}
};
return (
<SafeAreaView style={styles.container}>
<View style={styles.form}>
<Text style={styles.title}>Send SMS using react-native on Android</Text>
<TextInput
style={styles.textInput}
placeholder={'Phone number'}
onChangeText={setPhoneNumber}
value={phoneNumber}
/>
<TextInput
style={styles.textInput}
placeholder={'Message'}
onChangeText={setMessage}
value={message}
/>
<Button onPress={sendSMS} title="Send SMS" />
</View>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#eee',
},
form: {
padding: 20,
},
title: {
fontSize: 20,
marginBottom: 20,
},
textInput: {
backgroundColor: '#fff',
marginBottom: 5,
},
});
export default App;
アプリケーションを実行します
$ npx react-native run-android
楽しい
明けましておめでとう!
:)
Reference
この問題について(どのように“ハッピー新年”のSMSを送信する方法をネイティブのAndroid上で反応を使用して), 我々は、より多くの情報をここで見つけました
https://dev.to/merlier/how-to-send-happy-new-year-sms-using-react-native-on-android-2le4
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
* @flow strict-local
*/
import React, {useState} from 'react';
import {
StyleSheet,
SafeAreaView,
View,
Button,
Text,
TextInput,
} from 'react-native';
import {check, request, RESULTS, PERMISSIONS} from 'react-native-permissions';
import SmsAndroid from 'react-native-get-sms-android';
const App: () => React$Node = () => {
const [phoneNumber, setPhoneNumber] = useState('');
const [message, setMessage] = useState('Happy new year!');
const getSMSPermission = async () => {
try {
const checkResult = await check(PERMISSIONS.ANDROID.SEND_SMS);
switch (checkResult) {
case RESULTS.DENIED:
const requestResult = await request(PERMISSIONS.ANDROID.SEND_SMS);
return Promise.resolve(requestResult);
case RESULTS.GRANTED:
return Promise.resolve(checkResult);
default:
return Promise.reject();
}
} catch (err) {
// console.log(err);
}
};
const sendSMS = async () => {
try {
await getSMSPermission();
SmsAndroid.autoSend(
phoneNumber,
message,
(fail) => {
console.log('Failed with this error: ' + fail);
},
(success) => {
console.log('SMS sent successfully');
},
);
} catch (err) {
// console.log(err)
}
};
return (
<SafeAreaView style={styles.container}>
<View style={styles.form}>
<Text style={styles.title}>Send SMS using react-native on Android</Text>
<TextInput
style={styles.textInput}
placeholder={'Phone number'}
onChangeText={setPhoneNumber}
value={phoneNumber}
/>
<TextInput
style={styles.textInput}
placeholder={'Message'}
onChangeText={setMessage}
value={message}
/>
<Button onPress={sendSMS} title="Send SMS" />
</View>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#eee',
},
form: {
padding: 20,
},
title: {
fontSize: 20,
marginBottom: 20,
},
textInput: {
backgroundColor: '#fff',
marginBottom: 5,
},
});
export default App;
$ npx react-native run-android
Reference
この問題について(どのように“ハッピー新年”のSMSを送信する方法をネイティブのAndroid上で反応を使用して), 我々は、より多くの情報をここで見つけました https://dev.to/merlier/how-to-send-happy-new-year-sms-using-react-native-on-android-2le4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol