CommCareアプリケーションのすべてのマルチメディアを読み取り専用にする方法はありますか?
起こっているのは、ユーザーがスペースを解放しようとし、アプリケーションで参照されている電話のメモリからマルチメディアを削除しているということです。これはアプリケーションに影響しません(クラッシュしません)が、アイコン/ビデオ/オーディオはアプリで使用できなくなりました。
唯一の方法は、アプリケーションを完全に再インストールすることです。
他の商用アプリケーションはこれをどのように処理しますか(Uberのようなアイコンや他のものを削除できないなど)、またはCommCareが.cczファイルからインストールを行うという事実はそれを不可能にしますか?
デバイスをルート化しないと、フォルダを読み取り専用にする良い方法がわかりません。
1つのオプションは、.nomedia
ファイルをマルチメディアが置かれているフォルダーに配置することです。これにより、Androidがメディアのフォルダーをスキャンできなくなり、アルバムなどに表示されなくなります。
あなたの質問はすでに回答されていますが、追加のコンテキストを提供します。
他の商用アプリケーションはこれをどのように処理しますか(Uberなどのアイコンやその他のものを削除できないなど)
CommCareのメディアがデバイスと異なるように見える理由は、ほとんどのアプリケーションがメディアをアプリケーションのリソース(「APK」ファイル内)に保存するためです。ユーザーの手の届かないところにあります。
CommCareは外部ソース(「CCZ」ファイル)からのアプリに基づいてこれらのリソースを動的に生成しているため、これらのファイルはファイルシステムに直接保存されます。