2010年11月19日金曜日

Android 端末でUSB接続すると、充電のみにしているのにSDがマウントされてしまう問題の解決方法
はてなブックマーク - Android 端末でUSB接続すると、充電のみにしているのにSDがマウントされてしまう問題の解決方法 このエントリーをはてなブックマークに追加

今回起きた問題
先日、USB充電をすると設定を充電のみにしているのにもかかわらず、PCにマウントされてしまう現象が起きました。
エネループなどの充電器に挿してもマウント状態になりSDカードが認識されなくなりとても不便でした。
ほかの方も同じ問題に当たっている人がいたので対処方法を残しておきたいとおもいます。

原因は Winamp という音楽プレーヤーアプリがマウントを実行する権限を持っており、デフォルトの設定でUSB接続すると勝手にマウントされてしまうようになっていました。

Enable auto-mount」 という設定をオフにすると大丈夫です。



権限から問題のアプリを特定してみる
ここにたどり着くまで何回も出荷状態に戻したり、appbrain からアプリを少しずつインストールして確認を繰り返しましたが、前回の記事の 「S2 Permission List」 を利用して簡単に特定することができます。
 "S2 Permission Checker" でAndroid 端末に入ってるアプリの権限をチェックしよう!

他の音楽アプリでもマウントがデフォルト設定になっているものがあるようなので、いちいち一個ずつ確認するより権限から確認すると簡単ですね。

では実際に権限を使用しているアプリを探してみます。
マウントする権限は「MOUNT_UNMOUNT_FILESYSTEM」なので、「S2 Permission Checker」 の「Permission List」から探して押してみます。
デフォルトのアプリに混じって「Winamp」を発見することができました。
これで悪さを働いているアプリを特定できました。
出荷状態に何回も戻した苦労はいったい・・・