-1
外部メモリサイズを取得しようとしています。私のコードは、上記の私のコードはここにANdroid:java.lang.IllegalArgumentException:無効なパス:/ storage/extSdCard
public static String getExternalPath(){
String sSDpath = null;
File fileCur = null;
for(String sPathCur : Arrays.asList("MicroSD", "external_SD", "sdcard1", "ext_card", "external_sd", "ext_sd", "external", "extSdCard", "externalSdCard")) // external sdcard
{
fileCur = new File("/mnt/", sPathCur);
if(fileCur.isDirectory() && fileCur.canWrite())
{
sSDpath = fileCur.getAbsolutePath();
break;
}
if(sSDpath == null) {
fileCur = new File("/storage/", sPathCur);
if(fileCur.isDirectory() && fileCur.canWrite())
{
sSDpath = fileCur.getAbsolutePath();
break;
}
}
if(sSDpath == null) {
fileCur = new File("/storage/emulated", sPathCur);
if(fileCur.isDirectory() && fileCur.canWrite())
{
sSDpath = fileCur.getAbsolutePath();
//Log.e("path",sSDpath);
break;
}
}
}
fileCur = new File("/storage/extSdCard");
return fileCur.getAbsolutePath();
}
であると私はマシュマロで
public static String getExternalTotalMemory() {
StatFs statFs2 = new StatFs(getExternalPath());
long blockSize2 = statFs2.getBlockSize();
final long totalSize2 = statFs2.getBlockCount() * blockSize2;;
return formatSize(totalSize2);
}
をエミュレートhttps://developer.android.com/training/permissions/requesting.html –
@HarshitTrivedi私はすでにやったんでしたこれは私も同じことをしています –
私はこのコードを使用してActivityCompat.requestPermissions(Main_Booster.this、 新しいString [] {android.Manifest.permission.CLEAR_APP_CACHE、android.Manifest.permission.KILL_BACKGROUND_PROCESSES、 android.Manifestを取得しました。アクセス許可.RITE_SETTINGS、android.Manifest.permission.BATTERY_STATS、android.Manifest.permission.ACCESS_NETWORK_STATE、 Manifest.permission.READ_EXTERNAL_STORAGE、android.Manifest.permissi on.WRITE_EXTERNAL_STORAGE }、 1); –