Hey ,
I’m trying to access Whatsapp’s .Statuses folder but this code is not working. can you guys please check this code
import React, { useEffect, useState } from 'react';
import { View, Text, FlatList, Image } from 'react-native';
import * as FileSystem from 'expo-file-system';
import * as MediaLibrary from 'expo-media-library';
import * as Permissions from 'expo-permissions';
const WhatsAppStatus = () => {
const [statusFiles, setStatusFiles] = useState([]);
useEffect(() => {
const requestPermissions = async () => {
try {
const { status } = await Permissions.askAsync(Permissions.MEDIA_LIBRARY);
if (status === 'granted') {
findWhatsAppStatus();
} else {
console.log('Media library permission denied.');
}
} catch (error) {
console.log('Error requesting media library permission:', error);
}
};
requestPermissions();
}, []);
const findWhatsAppStatus = async () => {
try {
const statusPath = `${FileSystem.documentDirectory}WhatsApp/Media/.Statuses`;
// Check if the WhatsApp status folder exists
const folderInfo = await FileSystem.getInfoAsync(statusPath);
if (folderInfo.exists && folderInfo.isDirectory) {
const mediaAssets = await MediaLibrary.getAssetsAsync({
album: null,
sortBy: [MediaLibrary.SortBy.creationTime],
mediaType: [MediaLibrary.MediaType.photo, MediaLibrary.MediaType.video],
});
const filteredAssets = mediaAssets.assets.filter((asset) =>
asset.uri.startsWith(statusPath)
);
setStatusFiles(filteredAssets);
} else {
console.log('WhatsApp status folder not found.');
}
} catch (error) {
console.log('Error retrieving WhatsApp status:', error);
}
};
const renderItem = ({ item }) => (
<Image source={{ uri: item.uri }} style={{ width: 100, height: 100 }} />
);
return (
<View>
<Text>WhatsApp Status</Text>
<FlatList
data={statusFiles}
renderItem={renderItem}
keyExtractor={(item) => item.id}
/>
</View>
);
};
export default WhatsAppStatus;