2016年5月31日火曜日

dTVターミナルでホームボタンを別なアプリに割り当てるやつちゃんと作ったヨ

割り当てるというよりも

dTVホームアプリ起動する→今回作ったアプリが感知する→指定したアプリ起動
っていう感じです。

https://drive.google.com/file/d/0B0kLMBxrlCJ5cXV0Um9fWkhkNGs/view?usp=sharing

使い方はめっちゃ簡単

選んで

リモコンのホームボタン押すだけ!!!



ちなみに一部アプリはActivityまで指定してやんないとダメっぽくて落ちるんで
try、catchでエラー処理しました。
こんな画面出てきたらそのアプリは諦めて

アプリの動きをもうちょっと詳しく書くと

アプリ選ぶとSharedPreferencesにプロセス名保存してサービス開始させます。

サービスは1秒毎にforegroundにいるアプリがなんなのかを取得して
com.nttdocomo.android.dboxstore
だったら指定したアプリをIntentで起動させます。


 これdTVターミナル用に買ったんだけどそこそこ良かった

3 件のコメント:

  1. 貴重な情報ありがとうございます。
    大変興味深く読ませていただきました。
    一つお尋ねしたいことがあるのですが、このcom.nttdocomo.android.dboxstoreというのは通常のホーム画面でしょうか?
    それともイチオシの画面になりますでしょうか?
    もし本家のホーム画面だと、ランチャーから本来のホーム画面を出してもまたランチャーに堂々巡りする様に思えまして、ご質問させていただきました。
    お手数おかけして申し訳ありませんが、よろしくお願いします。

    返信削除
    返信
    1. コメントありがとうございます。
      dTVターミナルを普通の状態で使ったことがあまりないので「イチオシの画面」というのがちょっとわかりません…
      自分の環境ではリモコンのホームボタンを押せば指定したアプリが起動しているので特に問題はないように思えます。

      削除
  2. RyoTNさん
    コメントありがとうございます。
    dTVターミナルのファームによるのかもしれませんが、イチオシというのはdTVを起動して最初に現れる画面で、dTVのイチオシ動画みたいなのが次々と流れています。
    この状態でHOMEを押すと通常のUI画面が現れ、HOMEボタンを押すたびにこの2つの画面が交互に切り替わります。
    個人的に通常のUI画面は必要ですが、イチオシが要らないのでdboxstoreというのがそのイチオシの方であるなら殺してもよいかなぁと思った次第です。
    私もAccessibilityServiceでキーイベント拾ってごにょごにょしてみますかね(笑)
    さておき、dTVターミナルのadbでのあれこれ非常に参考になりました。
    情報ありがとうございました。

    返信削除