0

Sony LiveWare デバイスに通知を送信しようとしています

com.sonyericsson.extras.liveware.extension.notificationsample をインストールしましたが、実行しようとするとエラーと例外が発生します。

  1. 設定アクティビティをデバイスにロードします
  2. 環境設定画面で「アクティブ」にチェックを入れる

次のメソッドは、SampleExtensionService で呼び出されます。

private void addData() {
    Random rand = new Random();
    int index = rand.nextInt(5);
    String name = NAMES[index];
    String message = MESSAGE[index];
    long time = System.currentTimeMillis();
    long sourceId = NotificationUtil
            .getSourceId(this, EXTENSION_SPECIFIC_ID);
    if (sourceId == NotificationUtil.INVALID_ID) {
        Log.e(LOG_TAG, "Failed to insert data");
        return;
    }
    String profileImage = ExtensionUtils.getUriString(this,
            R.drawable.widget_default_userpic_bg);

    ContentValues eventValues = new ContentValues();
    eventValues.put(Notification.EventColumns.EVENT_READ_STATUS, false);
    eventValues.put(Notification.EventColumns.DISPLAY_NAME, name);
    eventValues.put(Notification.EventColumns.MESSAGE, message);
    eventValues.put(Notification.EventColumns.PERSONAL, 1);
    eventValues.put(Notification.EventColumns.PROFILE_IMAGE_URI, profileImage);
    eventValues.put(Notification.EventColumns.PUBLISHED_TIME, time);
    eventValues.put(Notification.EventColumns.SOURCE_ID, sourceId);

    try {
        getContentResolver().insert(Notification.Event.URI, eventValues);
    } catch (IllegalArgumentException e) {
        Log.e(LOG_TAG, "Failed to insert event", e);
    } catch (SecurityException e) {
        Log.e(LOG_TAG, "Failed to insert event, is Live Ware Manager installed?", e);
    } catch (SQLException e) {
        Log.e(LOG_TAG, "Failed to insert event", e);
    }
}

最初の問題は、「長い sourceId = NotificationUtil.getSourceId(this, EXTENSION_SPECIFIC_ID)」が -1 を返すことです。

変更方法はわかりませんが、ドキュメントにはオプションのフィールドであると書かれています。それで、それを削除して、さらに取得できるかどうかを確認しました。

sourceId コードを削除すると、挿入呼び出しで例外が発生します:「java.lang.SecurityException: 挿入を実行するための十分な権限がありません」

私の環境: HTC One V を LiveView リスト ページャーとペアリング http://www.amazon.co.uk/Sony-Ericsson-0001516170-LIVE-VIEW/dp/B00477X6DA 次のアプリをインストールしました LiveView SmartConnect (LiveWare Manager) )

このサンプルを機能させるための助けをいただければ幸いです。または、LiveWare の単純なテキスト通知を行うためのより簡単な方法を誰かが知っていれば幸いです。

編集:いくつかの進歩を遂げました。ここでエミュレーターを見つけました: android-sdk\add-ons\addon-sony_add-on_sdk_1_0-sony-16\apk_files

私はそれを電話にインストールしました。「SampleExtensionService」はエミュレーターで正常に動作します。

私の推測では、アドオン サンプルは LiveView デバイスと互換性がありません。

4

1 に答える 1

3

残念ながら、LiveView は SmartExtension API ではサポートされていません。代わりに、LiveView 専用の開発者キットがここにあります。

将来、Sony Mobile から新しいウェアラブル デバイスを購入する場合、Smart Extension API に基づく通知拡張機能は、SmartWatch、SmartWatch 2、SBH50、SBH52 などを含むいくつかのデバイスで使用できます。

于 2013-10-07T13:09:10.593 に答える