回答編集履歴
1
回答修正
test
CHANGED
@@ -1,9 +1,13 @@
|
|
1
|
-
build.gradleのCompileSdkVersionを23以上にした場合、Runtime Permissionという仕組みによってプログラムコードの中でストレージの読み書き権限の確認と許可を得る作業をしなければ、ストレージに対して読み書きができないようになっています。参考にされたページもそのことが書いてあるので
|
1
|
+
build.gradleのCompileSdkVersionを23以上にした場合、Runtime Permissionという仕組みによってプログラムコードの中でストレージの読み書き権限の確認と許可を得る作業をしなければ、ストレージに対して読み書きができないようになっています。参考にされたページもそのことが書いてあります。これはKotlin言語で書かれているのでそのままJavaでは使えませんが、ContextCompat.checkSelfPermission()を使って確認し、ActivityCompat.requestPermissions()で要求するという流れ自体は一緒です。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
下記にも私が過去に回答した許可を得るためのメソッド(こちらはJava)を記しています。
|
2
6
|
|
3
7
|
[androidstudioでEACCES (Permission denied)というエラー](https://teratail.com/questions/80043)
|
4
8
|
|
5
9
|
|
6
10
|
|
7
|
-
た
|
11
|
+
また、`<SDカードのパス>/Android/<自パッケージ名>/`というディレクトリー以下は特別扱いになっています。ご自身の端末で確認してみると良いのですが、外部ストレージのAndroidディレクトリー以下にパッケージ名のディレクトリーがたくさんあるはずです。これらはそのパッケージのプログラムであれば、上記のような処理で許可を得なくても読み書きすることができます(AndroidManifest.xmlへの記述は必要)。
|
8
12
|
|
9
13
|
[Androidの外部ストレージにフォルダを作るにはどうすればいいですか?](https://teratail.com/questions/85498)
|