1

現在、私のアプリケーションでは、context.getExternalCacheDir() を使用すると NullPointerExceptions が報告されています。NullPointerException は !cacheDir.exists() で発生し、cacheDir は null であり、この時点で NullPointerException がスローされます。

奇妙なのは、以前に外部ストレージがマウントされているかどうかを確認したことです。コードは次のとおりです。

public FileCache(Context context){
    if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
        cacheDir= context.getExternalCacheDir();
    // sometimes return null even the external storage mounted
    else
        cacheDir=context.getCacheDir();
    if(!cacheDir.exists()) // if cacheDir is null throws NullPointerException
        cacheDir.mkdirs();
}

私の androidManifest.xml には、外部ストレージへの書き込み権限があることに注意してください。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
4

0 に答える 0