我正在尝试向Sony LiveWare设备发送通知
我已安装:com.sonyericsson.extras.liveware.extension.notificationsample,但在尝试运行时遇到错误和异常:
在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 我已经安装了以下应用程序 实时查看 SmartConnect(LiveWare Manager)
我很感激任何帮助让这个示例工作,或者如果有人知道更简单的方法来为LiveWare做简单的文本通知。
编辑: 取得了一些进展。在这里找到了一个模拟器: Android的SDK \插件\插件-sony_add-on_sdk_1_0索尼-16 \ apk_files
我在手机上安装了它。 “SampleExtensionService”在模拟器中工作正常。
我现在的假设是附加示例与LiveView设备不兼容。
答案 0 :(得分:3)
不幸的是,SmartExtension API不支持LiveView。相反,LiveView here有一个特定的开发人员工具包。
如果您将来从索尼移动购买更新的可穿戴设备,基于Smart Extension API的通知扩展将可用于多种设备,包括SmartWatch,SmartWatch 2,SBH50,SBH52等。