fkm blog

software開発に関することを書いていきます

Android wearを試してみた

公式ドキュメントはこのあたり

すごーく大雑把に書くと、、

  • 今はpreview版なので, 専用のアプリを入れてNotificationを監視させることでそれっぽいのをemulatorで実現してる
  • SDKAPIを使ってNotificationを表示させると, wearable device側にその内容が伝わる. "伝わる"と書いたのは, 単なる表示だけでなく, タップした時のイベントもwearable device側に反映されるから. 例えばタップしたときアプリが起動するタイプのNotificationの場合, ハンドセット側のアプリが起動する.

ということで, 現時点ではNotificationを表示できるデバイスが扱えるよー程度のイメージ. Nexus Qよりはマシなアクションを取れるぐらいでしょうか。。。

とりあえず, サンプル見ながら書いてみた"ただ表示するだけ"系

    private NotificationManagerCompat mNotificationManager;

    private void showNotification() {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
        Bitmap original = BitmapFactory.decodeResource(getResources(), R.drawable.moke);
        Bitmap recipeImage = Bitmap.createScaledBitmap(
                original,
                Constants.NOTIFICATION_IMAGE_WIDTH, Constants.NOTIFICATION_IMAGE_HEIGHT, false);
        builder.setLargeIcon(recipeImage);
        builder.setContentTitle("Title");
        builder.setContentText("Test");
        builder.setSmallIcon(R.drawable.moke);

        Notification notification = new WearableNotifications.Builder(builder)
                .build();
        mNotificationManager.notify(Constants.NOTIFICATION_ID, notification);

    }

Notification.Builder(例ではsupport-v4のNotificationCompat使ってます)でいつもの通りNotificationを作って, 実際にbuildする際, WearableNotifications.Builder経由でNotificationを作成.

WearableNotifications.Builderにはいろいろsetterがあるけど, 呼ぶと接続アプリごと落ちちゃうので要調査(´・_・`)