質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

6051閲覧

android studioでandroid端末のDownloadフォルダのデータ削除

hh_ww

総合スコア22

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2018/04/17 09:26

編集2018/04/18 10:44

タイトルとおりですが、
以下の2パターンを試してみたのですが、
Downloadフォルダのファイルがなぜか削除できません。
何が悪いのでしょうか?

java

1File file = new File("/storage/emulated/0/Download"); 2file.delete();

java お試し2

1File file = new File("\storage\emulated\0\ABCDEFG.apk"); 2file.delete();

■追記
以下のようにファイルを参照できているのか確認したところ、
参照はできたうえで削除できていないようです。
また、削除に失敗しても削除を1000回繰り返すようにしても一度も削除できませんでした。
ファイルが参照できており、exceptionも発生していないのにファイルを削除できないのはなぜでしょうか?

File file = new File("/storage/emulated/0/Download/ABCDEFG.apk"); if (file.exists()) { //ファイルが削除されるまで指定回数分ループする for(int i=0; i<1000; i++) { //deleteメソッドを使用してファイルを削除する if (file.delete()) { err_flg = 0; System.out.println("ファイル削除成功"); } else { //失敗したら、0.1秒ごとにスリープしてリトライする try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } } else { System.out.println("ファイルが存在しない"); }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コンパイルに用いたSDKのAPIレベルが記述されていませんが、API 23からは端末の資源のアクセス権限を2つのグループに分けて、Dangerous permissionsとして分類されたものについては、プログラムコードの中で許可を得るためのAPIを呼び出して、それによって表示されるダイアログで「許可」をタップすることで、その資源へのアクセスができるような仕組みが導入されました。こうした手続きをRuntime Permissionと呼んでいます。

内部ストレージの読み書き権限もDangerous permissionsに含まれているため、compileSdkVersionが23以上(端末のAndroidバージョンではない)ならば、その手続きに従ったコードを記述して許可を得なければ、内部ストレージを読み書きすることはできません。

許可を得るための記述方法については、Runtime Permissionというキーワードで検索すれば資料が多く見つかると思います。以下、参考資料例です。

Request App Permissions - Android Developers(公式)
あらためてRuntime Permissionと実装方法をおさらいする
[Android] Runtime Permission, Dangerous Permission

投稿2018/04/18 15:40

編集2018/04/18 15:43
keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hh_ww

2018/04/27 01:45

ありがとうございます。 参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問