【はじめに】
androidスマートフォンでブラウザやメール、Twitterなどをしているときは音量ボタンを使う機会は少ないので音量ボタンを有効活用でする方法を考えていたところ、音量ボタンでアプリを起動できるようにしようと思い、このアプリを製作しました。
ダウンロードリンクはこちら↓
VolumeKeyLauncher
https://play.google.com/store/apps/details?id=jp.tetsu31415.volumekeylauncher
※アプリ権限「起動時に開始」は端末起動時にサービスを開始させるためのものです。(デフォルトではOFFになっています)
【使い方】
- 「選択」ボタンで起動したいアプリを選択する
- 「起動」ボタンでサービスを起動させる
- 好きなときに音量ボタンを2回押すとそのアプリが起動する
簡単に説明するとこの3つの手順で出来ます。
使い方動画は余裕があれば作ってみたいと思います。
【詳細説明】
- 「上上」「上下」「下上」「下下」の4つのコマンドにアプリを割り当てることができます。(1秒以内に2回押してください)
- 音量ボタンを2回押してアプリが起動させるとき音量は(一応)元に戻るようにしてあります。
- 音量ボタンを押して音量が変わるのはandroidの仕様です…orz
- チェックをONにしたアプリのみ起動します。
- 本アプリは音量ボタンを2回押して着信音量が変更された時のみ動作します。
したがって、タブレット端末では動作しません。 - サービスなのでタスクキラなどで終了させると動作しなくなります。
- 設定画面から端末起動時にサービスを開始するかどうかを設定できます。
【技術的なこと】
このアプリでは音量変化のブロードキャストを受け取って音量変化を感知しています。このブロードキャストは非公式のものです。developer.android.comのAudioManagerのページにも掲載されていませんが、androidのソースコードには定義されています。
AudioManager.java の 100行目から
このブロードキャストのコメント欄をみると…
内部のプラットフォームでのみ使用してください。公開はしないでください。
などと書いてあります…
この非公式ブロードキャストを使ってアプリを作っても良かったのか…
何か言われたら公開停止します。
【終わりに】
このアプリはまだバグや改善すべき点が多くあります。
バグや意見などがございましたらコメントやTwitterなどで指摘していただけるとありがたいです。
【参考サイト】
- stackoverflow
http://stackoverflow.com/questions/12561142/android-broadcastreceiver-for-volume-key-up-and-down - androidのソース(AudioManager.java)
https://github.com/android/platform_frameworks_base/blob/master/media/java/android/media/AudioManager.java