ファイル一覧が取得できなくなる。listFiles メソッドで、nullが返るようになった。
久しぶりに android を触る。以前に作ったdeprecated な Galleryを途中まで公開して放置していたんだけど、ちゃんと公開してほしいというリクエストを受けて、久しぶりに android開発環境を触る。
とりあえず以前のプロジェクトをビルドして実行したら、
xml を直接のぞくとこんな感じ。
とりあえず以前のプロジェクトをビルドして実行したら、
File dir = new File(path); File[] fileArray = dir.listFiles(getFilenameFilter());で、null pointer exception で落ちた。はて?デバッガで追いかけると、パスは実在してるし、ファイルも抽出できないとおかしい。もしや?と思って調べたら、androidのバージョンアップでどうもセキュリティに関する仕様変更があった様子。ストレージへのアクセス権限をちゃんとマニフェストに書かないといけないようだ。eclipseのマニフェストエディタだとこんな感じ。
xml を直接のぞくとこんな感じ。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>こんな基本的なAPIでも、いままで動いてたプログラムが動かなくなったりするのか。app store でアプリを公開したら、継続的にチェックしないといけないのね。
はじめまして!
返信削除このトラブルをどうやって回避されたんですか?
はじめまして!
返信削除このトラブルをどうやって回避されたんですか?
もうずいぶんと前のことですが、上記のとおり、マニフェストに権限を追加して対応したと思いますよ。
削除アプリを構築した時点では必要なかった権限ですが、暫く立ってコンパイルしたら動かない。よくよく調べたら、androidのバージョンが挙がって、権限が必要になっていた、と。