2011年5月3日火曜日

LiveViewアプリを事あるごとに起動させて、切断しても再接続する可能性を上げる

LiveViewは、LiveViewアプリが起動していないことにはペアリングされても、アプリとして接続されません。
しかし、普通のServiceアプリであるLiveViewアプリは端末の状態によっては、ちゃんと動作していない状態になるようです。
これを、起動させるアプリとしてLiveWareマネージャがあるのですが、これはあまり仕事をしてくれているようでは無いです。

そこで、AutomateItを利用して事あるごとにLiveViewアプリを起動させるようにします。(xdaにやればちょっとは幸せになれるかもみたいなことが書いてあったので。)
しかし、それだとLiveViewアプリがいきなりフォアグラウンドになって欝陶しいです。




















しかし、よくよく考えるとLiveWareマネージャから起動されるLiveViewアプリは一瞬画面が切り替わりますがすぐに消えます。
これは、きっとINTENTの発行先が違うのだろうと思って、調べてみると「com.sonyericsson.extras.liveview.settings.BootLauncher」にIntent発行している模様。

AutomateIt は、アプリケーションの通常起動しか指定できないので、上記BootLauncherを呼ぶことができません。
そこで、
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Log.d(this.getClass().getName(),"LiveViewHelper Main!");
// パッケージ名, クラス名をセット
Intent intent = new Intent();
intent.setAction("android.intent.action.MAIN");
intent.setFlags(0x10000000);
intent.setClassName("com.sonyericsson.extras.liveview",
"com.sonyericsson.extras.liveview.settings.BootLauncher");
// アプリを起動
this.startActivity(intent);
// 自身の終了
finish();
}
な、中身のアプリを用意。AutomateItからこのアプリ(LiveViewHelper)を介して、「com.sonyericsson.extras.liveview.settings.BootLauncher」を呼び出すようにしてみました。

AutomateIt の設定はこんな感じ


効果はどのくらいあるか定かではありませんが、とりあえずコレで様子見です。


----
2011/12/11
LiveViewHelper.apk



1 件のコメント:

  1. Yusuke Kinopさん、はじめまして
    たまたまliveViewの接続記事を検索をしていてブログを拝見しました。

    とにかくプツプツ切れるので、使い物にならないなと思っていたところに、apkインストールと記事の通りの設定で全く切れなくなりました。

    ありがとうございます。LiveViewが無駄にならずにすみました。

    返信削除