I am trying to access CSS file from phone storage in Cordova. The simple use case is to use dynamic CSS. Donwload the CSS from the server on a specific interval, store that in phone storage and use that in style.
The path would be statically defined on the HTML page.
<link rel="stylesheet" type="text/css" href="file:///storage/emulated/0/MYAPP_FOLDER/stlyefromstorage.css">
CSS Path (Phone Storage): file:///storage/emulated/0/MYAPP_FOLDER/stlyefromstorage.css
I tried with static CSS file content and that path but didn't work that.
Is it possible in Cordova?
stlyefromstorage.css
body {
background-color: powderblue;
}
h1 {
color: blue;
font-family: verdana;
font-size: 300%;
}
p {
color: red;
font-family: courier;
font-size: 160%;
}
Index.html (Call from Cordova APK)
<html>
<head>
<title>
Hello File Storage CSS
</title>
<link rel="stylesheet" type="text/css" href="file:///storage/emulated/0/MYAPP_FOLDER/stlyefromstorage.css">
</head>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
Just after post my question I found the solution as below:
You can read/write your file from the installed app folder path as below:
file:///storage/emulated/0/Android/data/APP_PACKAGE/files/stlyefromstorage.css
In addition, We can access as below:
file:///storage/emulated/0/APP_FOLDER/stlyefromstorage.css
Note: To ensure you have to set android:requestLegacyExternalStorage="true"
in your Androidmanifest.xml - tag for Android 10+ OS.
Now my external CSS file is working as below:
<link rel="stylesheet" type="text/css" href="file:///storage/emulated/0/Android/data/APP_PACKAGE/files/stlyefromstorage.css" />
Hope this will helps to others.