API 25 (Android 7.1) での外部ストレージ内ファイルへの書き込みができません!

321 views
Skip to first unread message

佐藤佑樹

unread,
Nov 4, 2017, 11:22:39 PM11/4/17
to Android-SDK-Japan
Android Studio2.3.3でSDKのAPIは25
端末はNECのPC-TE508HAWというタブレットでOSのAndroidバージョンは7.1で開発中です。

SDカード(外部ストレージ)のフォルダ内にあるファイルに書き込みを行いたいのですが上手くいきません。

Android6.0以降では権限設定に変更があるみたいなので、Android Manifestに記述してあった

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

はそのままにしておき、Runtime Permissionという仕組みによってプログラムコードの中で
ストレージの読み書き権限の確認と許可を得る作業を実装しました。
ですがファイルに書き込みができませんでした。

念のため端末の「設定」→「アプリ」から該当するアプリを選択して権限を確認しました。
結果は、
「SDカードのコンテンツの変更または削除」
「SDカードコンテンツの読み取り」
が許可されていました。


ファイルを書き込むためのルートパスも間違っていない上に、権限が許可となっているのに
書き込みができないとはどういうことでしょうか?


またSDカード/Android/data/<自パッケージ> 内には書き込みができました。

egg

unread,
Nov 5, 2017, 4:19:56 AM11/5/17
to android-...@googlegroups.com
江川と申します。
Android 7からexternalなストレージのディレクトリアクセスに関するポリシーが変更されていますので、そのことが原因ではないかと推察します。
以下の公式ドキュメントに分かりやすい記載がありますのでご参考になさって下さい。

以上です。

2017/11/05 12:22 "佐藤佑樹" <satoy...@gmail.com>:
--
このメールは Google グループのグループ「Android-SDK-Japan」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-sdk-japan+unsubscribe@googlegroups.com にメールを送信してください。
このグループに投稿するには android-sdk-japan@googlegroups.com にメールを送信してください。
https://groups.google.com/group/android-sdk-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
Reply all
Reply to author
Forward
0 new messages