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);
    }
}

第一个问题是“long 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

遗憾的是,SmartExtension API 不支持 LiveView。相反,这里有 LiveView 的特定开发工具包。

如果您将来想从 Sony Mobile 购买更新的可穿戴设备,则基于 Smart Extension API 的通知扩展将可用于多种设备,包括 SmartWatch、SmartWatch 2、SBH50、SBH52 等。

于 2013-10-07T13:09:10.593 回答