LOLLIPOPでフォルダを作成する際に問題が発生しているようですが、コードは以前のバージョンで正常に機能しますが、 ログキャストにエラーはありません。ヘルプアンドロイドはLOLLIPOPでフォルダを作成していません。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
private static Uri getOutputMediaFileUri(int type){
return Uri.fromFile(getOutputMediaFile(type));
}
private static File getOutputMediaFile(int type){
File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_MOVIES), "reelyChat/vids");
if(!mediaStorageDir.exists()){
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
mediaStorageDir.mkdirs();
try {
mediaStorageDir.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}else{
if(!mediaStorageDir.mkdirs()){
Log.d("reelyChat", "failed to create directory");
return null;
}
}
}
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File mediaFile;
if(type == MEDIA_TYPE_VIDEO){
vid_name = "RC_"+my_user_id+"_profile.mp4";
mediaFile = new File(mediaStorageDir.getPath() + File.separator + vid_name);
}else{
return null;
}
return mediaFile;
}
あなたのコードはMarshmallowで動作します.Marshmallowに必要な実行時アクセス許可を与えていますか? –
@SteveMの提案がうまくいかない場合は、ここでいくつかの提案を見てください:http://stackoverflow.com/questions/4062357/mkdirs-returns-false-for-directory-on-sd-card- while-the-親ディレクトリが書かれています – yakobom
@Steve Mはい権限が設定されているだけです。ロリポップのファイルは作成されませんが、私はmarshmallowを試していません。他の以前のバージョンはthoを操作します。 – user2692997