unable to delete messages they always show sms not found
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 ( <View className="bg-white h-full"> <MainTab navigation={navigation} /> </View> ); };
export default Home;