Here I am sharing my package.json and my code block.
"dependencies": {
"@capacitor/android": "^7.0.1",
"@capacitor/app": "6.0.2",
"@capacitor/core": "^7.0.1",
"@capacitor/filesystem": "^6.0.2",
"@capacitor/haptics": "6.0.2",
"@capacitor/keyboard": "6.0.3",
"@capacitor/network": "^6.0.3",
"@capacitor/status-bar": "6.0.2",
"@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.0",
"@ionic/react": "^8.4.1",
"@ionic/react-router": "^8.4.1",
"@mui/icons-material": "^6.2.1",
"@mui/material": "^6.2.1",
"@mui/styles": "^6.2.1",
"@mui/x-date-pickers": "^7.23.3",
"@react-spring/web": "^9.7.5",
"@types/react-router": "^5.1.20",
"@types/react-router-dom": "^5.3.3",
"dayjs": "^1.11.13",
"ionicons": "^7.4.0",
"moment": "^2.30.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-quill": "^2.0.0",
"react-router": "^5.3.4",
"react-router-dom": "^5.3.4"
},
"devDependencies": {
"@capacitor/assets": "^3.0.5",
"@capacitor/cli": "^6.2.0",
"@testing-library/dom": ">=7.21.4",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^14.0.0",
"@testing-library/user-event": "^14.4.3",
"@types/react": "^18.0.27",
"@types/react-dom": "^18.0.10",
"@vitejs/plugin-legacy": "^5.0.0",
"@vitejs/plugin-react": "^4.0.1",
"cypress": "^13.5.0",
"eslint": "^8.35.0",
"eslint-plugin-react": "^7.32.2",
"jsdom": "^22.1.0",
"terser": "^5.4.0",
"typescript": "^5.1.6",
"vite": "~5.2.0",
"vitest": "^0.34.6"
}
const createOfflineResponseDataFile = async () => {
try {
// Check for write permission
const permissionStatus = await Filesystem.checkPermissions();
alert("Permission status:" + JSON.stringify(permissionStatus));
if (permissionStatus.publicStorage !== "granted") {
const requestStatus = await Filesystem.requestPermissions();
if (requestStatus.publicStorage !== "granted") {
throw new Error("Write permission not granted");
}
}
const result = await Filesystem.writeFile({
path: OFFLINE_RESPONSE_DATA_FILE,
data: JSON.stringify({}), // Initial empty data
directory: Directory.Documents,
encoding: Encoding.UTF8,
});
if (result) {
return {
status: true,
message: "File created successfully",
result,
};
}
} catch (e) {
alert("Unable to create file" + (e as any).message);
return {
status: false,
message: "Failed to create file",
error: e,
};
}
};
Filesystem.checkPermissions() method returning publicStorage: “granted” but unable to write file. Testing on android 13. Device samsung.