自定义通知Tizen Native可穿戴应用程序开发2.3.2

时间:2017-08-20 14:17:59

标签: notifications tizen wearables samsung-gear

我是Tizen的新手,我尝试开发一个可穿戴的原生应用程序(2.3.2),通过单击按钮可以创建通知。到目前为止它的确有效,但我想知道通知是否可以自定义。

我的问题:

  1. 我想在通知上插入一个用户互动按钮。这可能吗?是否有任何其他方式可以在通知上创建按钮,或者这在Tizen 2.3.2中是否可以用于可穿戴设备?
  2. 有没有办法自定义每次创建新通知时(自动?)显示的弹出窗口(例如,添加应用程序图标,显示部分通知内容......)?
  3. 我不确定那里显示的是什么时间 - 在模拟器上测试时,我似乎完全随机。是否可以删除通知栏中通知标题下显示的时间戳?通知的时间戳应该可以由notification_set_time(notification, time(NULL));修改,但它对我不起作用。只显示完全随机的值(不是实际系统时间;与代码行9中的notification_set_time_to_text相同)。显示的通知中没有任何变化。当我尝试使用notification_set_time(notification, DO_NOT_SHOW_TIMESTAMP)删除时间戳时,它会出错( DO_NOT_SHOW_TIMESTAMP未知)。
  4. 下面是代码的一部分,它涵盖了创建通知并设置其内容的整个功能。在第20行(标记为注释)中,我尝试添加一个带notification_set_button的按钮,但这会导致错误。

        void set_notification(appdata_s *ad){
        notification_h notification = NULL;
        notification = notification_create(NOTIFICATION_TYPE_NOTI);
        if(notification != NULL){
    
        notification_set_text(notification, NOTIFICATION_TEXT_TYPE_TITLE, 
        "Alarm",
        NULL, NOTIFICATION_VARIABLE_TYPE_NONE);
    
        notification_set_time_to_text(notification, time(NULL), 
        NOTIFICATION_TEXT_TYPE_CONTENT);
        notification_set_text(notification, NOTIFICATION_TEXT_TYPE_CONTENT, 
        "Failure 
        of Valve 4",
        NULL, NOTIFICATION_VARIABLE_TYPE_NONE);
        notification_set_display_applist(notification, 
        NOTIFICATION_DISPLAY_APP_ALL);
        notification_set_size(notification, 0.5);
        notification_set_layout(notification, NOTIFICATION_LY_ONGOING_EVENT );
        //notification_add_button(notification,NOTIFICATION_BUTTON_1);
        notification_set_vibration(notification, 
        NOTIFICATION_VIBRATION_TYPE_DEFAULT, NULL);
        }
        app_control_h app_control = NULL;
        int noti_err = NOTIFICATION_ERROR_NONE;
    
        app_control_create(&app_control);
        app_control_set_app_id(app_control, "org.tizen.noti_basicui2");
    
        noti_err = notification_set_launch_option(notification, 
        NOTIFICATION_LAUNCH_OPTION_APP_CONTROL,
        (void *) app_control);
        if (noti_err != NOTIFICATION_ERROR_NONE) {
        notification_free(notification);
        return;
         }
        app_control_destroy(app_control);
        notification_post(notification);
        }
    

0 个答案:

没有答案