2009年7月24日金曜日

DBに登録したくないメディアファイルを除外する方法

opensource androidのissuesをつらつら眺めていたらベンリそうなTipsが載っている案件がありました。「Music.apkが読み取るパスを設定できるようにしたい」。androidではSDカードを挿すと、その中に入っている音楽や動画などのメディアファイルを自動的に検索してDBに登録します。音楽プレイヤーアプリはそのDBを参照して曲の一覧を作ります。ところが通話録音アプリなどを入れていると、そのデータまで一緒にDBに登録されてしまうのでランダム再生をしていたりすると いきなり会話が始まったりしてビックリすることがあります。

ということで android.comな人がTipsを書いてくれていました:
検索対象外にしたいフォルダはフォルダ名の先頭に「.(ピリオド)」をつける。もしくはフォルダ中に「.nomedia」というファイルを作って置いておく。そうすると検索対象から除外されるようになります。

通話録音アプリは自前でファイルの置き場所を管理しているので録音したものが再生できなくなることはありません。私の端末では他にもコミックビュワーのデータなどがGalleryに出てきてしまっていたので、こちらも除外しておきました。

#本当はそれぞれのデータが「何のデータなのか」という属性をつけられるようなので、それをつけることで制御をしたいところです。そうすれば音楽再生中に着信音が再生されるのも回避できるかなぁとか。どうやったらできるんだろう。

Comments:

blog comments powered by Disqus