2012年3月11日日曜日

Liveview プラグインの ICS 対応

GingerBreadまでと同じ作りかたでは、ICSでは動作してくれないLiveviewのpluginですが、ICSでも動作するようにするメモです。


  1. Boot時に、pluginのServiceを立ち上げる。
  2. アプリケーションとして、ドロワーに表示される状態にし、Preferenceをキックするようにする。
この2点の対応で、ICSでもpluginが動作するようになります。

manifestに


<activity android:label="@string/app_name" android:name="com.sonyericsson.extras.liveview.plugins.PluginPreferences" android:launchMode="singleInstance">

<intent-filter>

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>



<receiver android:name=".LiveViewReceiver" android:enabled="true">

<intent-filter>

<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>



で、LiveviewReceiverで、こんな感じでServiceをキックする。




package jp.ddo.dekuyou.liveview.plugins.gmail;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class LiveViewSaverReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//
String action = intent.getAction();
if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
context.startService(new Intent(context, GmailPluginService.class));
}
}
}

するとなぜか、LiveviewアプリケーションのPreferenceにも表示されるようになり、無事動作するようになります。


せっかく、GingerBreadでのペアリング問題から開放されましたし、他のPluginも対応されると良いなと思う今日この頃です。
(根本的にはSonyが対応すべきだと思いますが。。。。)

ちなみに、smartwatchは先日のLivewareアプリのアップデートで対応されたみたいですね。



2012年3月4日日曜日

ICS では、Liveview も smartwatch も共に動作しないかも。。。。

この週末、Galaxy Nexus を手に入れたので、早速 Liveview と Ice Cream Sandwich(AndroidOS 4.0) の相性を確認してみました。 なんせ、Eclair では Bluetooth 接続がうまくいっていたものが、GingerBread では接続の度に再ペアリングを要求されると言う謎の現象が発生していたので、Ice Cream Sandwich でもなんかあるんじゃないかと。。。。

で、ペアリングですが、問題ありませんでした。

よかったよかったと、思ってさて動作確認と思ったら、プラグインが Liveviewアプリケーションで認識されていません。

嫌な予感がしたので、smartatchのEmulatorも確認。見事にextensionが認識されていません。
これは困りました。

※2012/04 smartwatchはその後LivewareのアップデートでICSでも稼働することを確認しました。


ちなみに、Liveviewアプリケーションに標準で付いているMessageの通知は動作していました。
とにかくpluginとの連携がOSが変わったことによって、出来なくなったみたいです。

これじゃ、使い物になりません。
特にsmartwatchは標準付属のアプリはなくなって全てextensionとして追加する形式みたいですしね。。。。。


こういうアプリ連携はAndroidではどうやって認識しているんでしょうね?
詳しくは知らないのですが、その方法がICSではできなくなったってことなのかなと思います。

SonyEricsson 2011年モデルはICSバージョンアップ対象みたいですし、ほんとどうなるんでしょう。。。。これ。。。。