2012年8月4日土曜日

自動起動

カスタムROMを業務で使うのはいかがなものか…なところだけど、デモ用だとこれも都合がよかったりするのです。
  • 電源ONしたら最初から特定のアプリが起動している
  • ステータスバーやナビゲーションバー(ICS以降Phone UI)、システムバー(HoneyComb以降Tablet UI)を非表示にする
なんてことができたら、特定のアプリしか動かない端末が作れます。

※Phone UIなら 全画面アプリ + ホームアプリ化 で他アプリに遷移できなくすることができるけれど、Tablet UIの場合は設定画面に遷移できてしまうのです。

JCROMにそんな差分を作ってみました(JB JCROMベース)。
/frameworks/base /frameworks/native

SDカードのルートに autorun.conf というファイルがあれば起動時にそれを読み込みます。
ファイルの中身は name=value 形式のテキストファイルで以下の設定が可能です。
※行頭に #; を書くとコメント行となり無視されます。

  • package = パッケージ名/クラス名 (例: jp.r246.twicca/.timelines.Home )
    電源ON時に起動するアプリのパッケージ名と、起動時に表示するアクティビティ名。アクティビティ名はパッケージ名からの相対パス(ピリオドで始まる)または絶対パス。指定がなければ自動起動しない。
  • ui = phone | large | tablet
    UIを指定。指定がなければJCROM設定に従う。
  • statusbar = off
    Phone UI/Phone UI(Large) のとき、ステータスバーを表示OFFする。指定がなければ表示OFFしない。
  • navigationbar = off
    Phone UI/Phone UI(Large) のとき、ナビゲーションバーを表示OFFする。指定がなければ表示OFFしない。
  • systemnavbar = off
    Tablet UI のとき、システムバーを表示OFFする。指定がなければ表示OFFしない。

Galaxy Nexus の場合は外部SDカードがないので adb などを使って /sdcard/autorun.conf にファイルを置くことになります。(設定を消す場合は adb shell rm /sdcard/autorun.conf )
XOOM の場合は microSD の抜き差しで 自動起動ON/OFF できるのでより実用的かと思います。(特にタブレットを専用端末としてデモに使う場合とか)

Galaxy Nexus も XOOM も [戻る] のためのハードキーがないので、アプリ内で前画面に戻るためのボタンを置くなどしていないと進むだけで戻れない状態になってしまうので注意が必要です。

あくまで自己責任でご利用ください。

0 件のコメント:

コメントを投稿