パーミッションの付与及び権限リクエストを行っているにも関わらずmkDir()でFalseとなりフォルダが作成できません。
何が足りないのでしょうか。
ご教示頂けると幸いです。よろしくお願い致します
AndroidManifest.xml
1<?xml version="1.0" encoding="utf-8"?> 2<manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 package="com.fujitsu.dfxmobile"> 5 <uses-permission android:name="android.permission.VIBRATE"/> 6 <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> 7 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 8 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 9 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 10 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 11 <uses-permission android:name="android.permission.INTERNET"/> 12 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 13
MainActivity.java
1 protected void onCreate(Bundle savedInstanceState) { 2 super.onCreate(savedInstanceState); 3 setContentView(R.layout.alram_list); 4 firtTime = true; 5 context = getApplicationContext(); 6 7 8 if (Build.VERSION.SDK_INT >= 23) { 9 if(ActivityCompat.checkSelfPermission(this,Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED 10 || ActivityCompat.checkSelfPermission(this,Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) 11 { 12 ActivityCompat.requestPermissions(this, 13 new String[]{ 14 Manifest.permission.WRITE_EXTERNAL_STORAGE, 15 Manifest.permission.READ_EXTERNAL_STORAGE, 16 }, 17 PERMISSION_WRITE_EX_STR); 18 } 19 } 20 21 //音を鳴らす 22 Alarm.play(AlramList.this, R.raw.sound1); 23 //バイブレーション(要調整) 24 Vibrator vibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE); 25 long[] pattern = {3000,1000,2000}; 26 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { 27 vibrator.vibrate(VibrationEffect.createWaveform(pattern, 2)); 28 } else { 29 vibrator.vibrate(pattern, 2); 30 } 31 try { 32 Thread.sleep(7000); 33 } catch (InterruptedException e) { 34 } 35 vibrator.cancel(); 36 OnCreate以下略 37 } 38 @Override 39 public void onRequestPermissionsResult( 40 int requestCode, String[] permission, int[] grantResults 41 ) { 42 super.onRequestPermissionsResult(requestCode, permission, grantResults); 43 if (grantResults.length <= 0) { 44 return; 45 } 46 switch (requestCode) { 47 case PERMISSION_WRITE_EX_STR: { 48 if (grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) { 49 /// 許可が取れた場合・・・ 50 //アプリケーションフォルダがなければ作る 51 LogController.getInstance(); 52 } else { 53 /// 許可が取れなかった場合・・・ 54 Toast.makeText(this, 55 "アプリを起動できません....", Toast.LENGTH_LONG).show(); 56 finish(); 57 } 58 } 59 return; 60 } 61 } 62
LogController.java
1 2 private final static String LOG_DIR = "test"; 3 4 /** コンストラクタ */ 5 public LogController() { 6 if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) 7 return; 8 String dirPath = Environment.getExternalStorageDirectory().getPath(); 9 10 mkdir(dirPath, LOG_DIR); 11 } 12 13 14 /** フォルダ作成 */ 15 private void mkdir(String dirPath, String name) { 16 File dir = new File(dirPath, "/" + name); 17 if (!dir.exists()) { 18 String a; 19 if(!dir.mkdir()){ 20 a = "1"; 21 }else{ 22 a = "2"; 23 } 24 } 25 26 } 27
環境
Android10
端末
SONY XPERIA SO-05K

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。