2015-03-03 19 views
6

Tôi muốn tạo một ứng dụng tương tự như ứng dụng Starbucks đi kèm với ban nhạc. Tôi muốn hiển thị mã vạch. Tôi có thể tạo mã vạch dưới dạng hình ảnh JPG trong đám mây hoặc trên thiết bị cục bộ nhưng tôi cần để có thể hiển thị chúng trên màn hình của ban nhạc. Cho đến nay tôi đã không tìm thấy một cách sử dụng Band Client để hiển thị một hình ảnh bên trong ứng dụng.Hiển thị hình ảnh trên Microsoft Band

ban nhạc khách hàng có các nhà quản lý sau:

  • Notification quản lý
  • Cá nhân quản lý
  • Ngói quản lý
  • Sensor quản lý

Điều gần nhất tôi có thể nghĩ đến là thông báo Người quản lý sẽ làm điều đó nhưng phương pháp duy nhất trên đó là:

  • SendMessageAsync
  • ShowDialogAsync
  • VibrateAsync

Không ai trong số đó thực hiện công việc. Bất kỳ ý tưởng? Ngay bây giờ tôi nghĩ rằng SDK chỉ là khá hạn chế trong những gì nó có thể làm từ một quan điểm giao diện người dùng.

+0

Cảnh báo hack xấu: Bạn có thể gửi mã vạch đến 'MeTile' (ô chính): D Được rồi, không phải là giải pháp đẹp, nhưng hiện tại đây là nơi duy nhất bạn thêm đẩy hình ảnh. Vì vậy, một hack xấu xí sẽ là để có được MeTile, lưu hình ảnh được sử dụng, đẩy mã vạch, và sau đó cho phép người dùng thiết lập lại hình ảnh trước đó hoặc cố gắng để thiết lập lại nó sau khi X lượng thời gian đã trôi qua. Không chắc chắn bao nhiêu đồng hồ trên cùng của hình ảnh sẽ can thiệp vào việc đọc mã vạch. –

Trả lời

1

Ngay bây giờ Bản xem trước SDK của Microsoft không có khả năng tạo bố cục tùy chỉnh cho ô. Các quan sát của bạn là chính xác, bạn có thể tạo một ô mà bạn có thể gửi tin nhắn, và 8 tin nhắn cuối cùng (theo dấu thời gian của họ) sẽ được hiển thị trong ô.

4

Mã vạch hiện được hỗ trợ trong SDK đã được cập nhật hôm nay (và một vài thay đổi khác). SDK cũng không được xem trước woho!

mới:

  • nội dung gạch Giàu - mã vạch và các biểu tượng
  • List item
  • Chúng ta có thể có các nút! (Không thể tin rằng tôi vui mừng về một nút)
  • Chúng tôi có thể nghe cho gạch và nút sự kiện
  • Tiếp cận calo đĩa dữ liệu mới
  • của Windows nền điện thoại hỗ trợ
  • iOS từ xa hoặc địa phương thông báo

Dưới đây là một số mã vạch từ ứng dụng mẫu mới được tải lên.

 using (IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0])) 
    { 
     var myCardTextBlock = new TextBlock() 
     { 
      Color = Colors.Blue.ToBandColor(), 
      ElementId = 1, 
      Rect = new PageRect(0, 0, 200, 25) 
     }; 
     var barcode = new Barcode(BarcodeType.Code39) 
     { 
      ElementId = 2, 
      Rect = new PageRect(0, 0, 250, 50) 
     }; 
     TextBlock digitsTextBlock = new TextBlock() 
     { 
      ElementId = 3, 
      Rect = new PageRect(0, 0, 200, 25) 
     }; 
     FlowPanel panel = new FlowPanel(myCardTextBlock, barcode, digitsTextBlock) 
     { 
      Orientation = FlowPanelOrientation.Vertical, 
      Rect = new PageRect(0, 0, 250, 100) 
     }; 


     Guid myTileId = new Guid("D781F673-6D05-4D69-BCFF-EA7E706C3418"); 
     BandTile myTile = new BandTile(myTileId) 
     { 
      Name = "My Tile", 
      TileIcon = await LoadIcon("ms-appx:///Assets/SampleTileIconLarge.png"), 
      SmallIcon = await LoadIcon("ms-appx:///Assets/SampleTileIconSmall.png") 
     }; 
     myTile.PageLayouts.Add(new PageLayout(panel)); 


     await bandClient.TileManager.AddTileAsync(myTile); 

     PageData page = new PageData(
      Guid.NewGuid(), 
      0, 
      new TextBlockData(myCardTextBlock.ElementId.Value, "MY CARD"), 
      new BarcodeData(barcode.BarcodeType, barcode.ElementId.Value, "123456789"), 
      new TextBlockData(digitsTextBlock.ElementId.Value, "123456789")); 

     await bandClient.TileManager.SetPagesAsync(myTile.TileId, page); 

     this.viewModel.StatusMessage = "Done. Check the Tile on your Band (it's the last Tile)."; 
    } 
+0

Chỉ có hai loại mã vạch được hỗ trợ và mã QR không có ở đó. Tôi có cùng một kịch bản khi tôi muốn hình ảnh JPG được tạo trước bằng mã vạch và chỉ muốn hiển thị hình ảnh ở một băng tần. Có thể không? –

+0

@AlexeyStrakh xem câu trả lời của tôi. Nó có thể, nhưng không phải là dễ dàng hay hữu ích. –

0

Có một cách. Nó rất phức tạp và giới hạn ở kích thước nhất định của dữ liệu.

Có thể tải lên biểu tượng (thực sự lên đến 8 tôi nghĩ) vào ô của bạn.

Biểu tượng phải là PNG trong suốt 48x48.

Để có mã QR, dịch này có hình ảnh màu trắng, nơi các phần màu đen của mã QR trong suốt.

enter image description here

Trên ảnh là 1. Nếu bạn tô màu đen thành alpha thì hãy sử dụng ví dụ: webqr sau đó bạn có thể kiểm tra và thấy rằng nó hoạt động. (Tôi không thể chứng minh bằng PNG vì SO không thích tính minh bạch).

Việc tải lên băng tần như bình thường đối với biểu tượng (xem hướng dẫn) ngoại trừ bạn cần đặt ColorSource thành tùy chỉnh và Color thành (255,255,255) trắng.

Tôi đã có thể tải lên và quét thành công trên Band của mình.

Tuy nhiên, tôi sẽ lưu ý rằng nó không đặc biệt thân thiện với người dùng vì biểu tượng quá nhỏ trên Ban nhạc mà máy quét có thể gặp khó khăn khi chọn nó.

Tôi sẽ đăng phản hồi lên MS, vì tôi nghĩ đây sẽ là một tính năng rất hữu ích và việc triển khai mã QR sẽ không đáng kể đối với họ.

Các vấn đề liên quan