기어 S의 경우 RichNotification 을 사용하여 Noti에서 Wearable-side app을 실행하도록 구현하였는데요..
기어 2, Neo에서는 RichNotification을 사용하지 못하는 걸로 알고있습니다.
따라서, 기어 2에서는 아래 Standard Notification을 방식을 이용하였습니다.
Intent myIntent = new Intent("com.samsung.accessory.intent.action.ALERT_NOTIFICATION_ITEM");
myIntent.putExtra("NOTIFICATION_PACKAGE_NAME", HOST_SIDE_PACKAGE);
myIntent.putExtra("NOTIFICATION_VERSION", NOTIFICATION_SOURCE_API_SECOND);
myIntent.putExtra("NOTIFICATION_TIME", System.currentTimeMillis());
myIntent.putExtra("NOTIFICATION_MAIN_TEXT", "title");
myIntent.putExtra("NOTIFICATION_TEXT_MESSAGE", "Body");
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.like);
byte[] byteArray = convertResizeBitmapToByte(bitmap);
myIntent.putExtra("NOTIFICATION_APP_ICON", byteArray);
// myIntent.putExtra("NOTIFICATION_LAUNCH_INTENT", HOST_SIDE_PACKAGE);
myIntent.putExtra("NOTIFICATION_LAUNCH_TOACC_INTENT", WEARABLE_SIDE_PACKAGE);
myIntent.putExtra("NOTIFICATION_ITEM_IDENTIFIER", MY_NOTIFICATION_ID);
myIntent.putExtra("NOTIFICATION_ID", CURRENT_NOTIFICATION_ID);
myIntent.putExtra("NOTIFICATION_CUSTOM_FIELD1", "field01");
myIntent.putExtra("NOTIFICATION_CUSTOM_FIELD2", "field02");
sendBroadcast(myIntent);
여기서 질문이 있습니다.
myIntent.putExtra("NOTIFICATION_LAUNCH_TOACC_INTENT", WEARABLE_SIDE_PACKAGE)
해당 필드를 사용하면 Wearable-side app을 실행 할 수 있는데요 몇가지 문제점이 있습니다.
-처음 수신 시 5초 정도 Noti 화면이 보이고 사라지는데, 그 후에는 알림 list에서 해당 Noti 선택을 하면 Wearable-side app이 실행되기 때문에 Noti내용을 확인 할 수 없습니다.
즉, 유저가 처음 수신 시 화면을 놓친다면 더이상 Noti의 내용(time, title, body)을 볼 수가 없습니다.
-위에서 말한 동작처럼 알림 list에서 해당 Noti 선택을 하면 Wearable-side app이 실행되기 때문에 알림 list의 오른쪽 Badge 아이콘이 사라지지 않는 문제가 있습니다.
Noti 선택 시 Intent Action : "com.samsung.accessory.intent.action.CHECK_NOTIFICATION_ITEM" 을 사용하여 강제로 clearing 하여도 사라지지 않습니다.
위의 동작들이 의도 된 것인지 제가 잘못 구현하여 발생되는 문제인지 확인 부탁드립니다.