アプリをテストしようとしていますが、エミュレーターがうまくいきません。いくつかの異なる AVD と BlueStacks を試しました。仮想 SDCard のマウント方法が原因で、アプリが期待どおりにキャッシュ ディレクトリを見つけられません。ただし、2 つの異なる Android フォンで同じアプリを実行すると、正常に動作するようです。この問題に直面したことで、探しているフォルダーを参照するより良い方法があるに違いないと思いました。
私はonCreateでこれを使用しています:
// Check if application exists
for (int i = 0; i < list.size(); i++) {
if (list.get(i).packageName.equals("com.someapphere")) {
v.setText("Application Found");
break;
} else {
v.setText("Application Not Found");
}
}
if (v.getText() == "Application Found") {
// Check for Cache Usage
final File dataStore = Environment.getExternalStorageDirectory();
try {
File tCache = new File(dataStore.getAbsolutePath()
+ "/Android/data/com.someapphere/cache");
long tCacheSize = folderSize(tCache);
if (tCacheSize == 0) {
v2.setText(" Nothing to do");
} else {
// Start Async task - delete files
...
}
} catch(Exception e) {
v2.setText(" Cache not found");
}
}
ここで行っている他の無関係なことをいくつか取り出しましたが、残りは問題を再現するはずです。まだ明らかでない場合、私はまだプログラミングにまったく慣れていません。