2015-10-05 97 views
0

我試圖在收到谷歌雲消息時使用Android應用程序在MS頻段上顯示警報。我正在使用Azure通知集線器發送和響應郵件。收到郵件後,我想向樂隊發送通知。微軟樂隊:在廣播接收器上顯示頻段通知

我目前得到的問題是,當我檢查用notificationHandler帶連接下面的異常被拋出:

廣播接收器組件不能夠結合服務

有問題的代碼如下:

if (client == null) { 
     BandInfo[] devices = BandClientManager.getInstance().getPairedBands(); 
     if (devices.length == 0) { 
      Log.i(TAG, "Band isn't paired with your phone"); 
      return false; 
     } 
     client = BandClientManager.getInstance().create(ctx, devices[0]); 
    } else if (ConnectionState.CONNECTED == client.getConnectionState()) { 
     return true; 
    } 

    Log.i(TAG, "Band is connecting..."); 
    return ConnectionState.CONNECTED == client.connect().await(); 

引發異常調用時

我假設通知處理程序被配置爲BroadcastReceiver beind場景,並且通過嘗試與Band進行交互我通過綁定到服務來打破BroadcastReceiver的規則。

我應該如何處理這種情況?當然,這是一種常見的情況 - 鏡像應用程序拾取的樂隊通知?我認爲要處理這個問題的唯一方法是創建一個新的Intent Service來顯示通知並從BroadcastReciever開始,但是這看起來有點笨拙?

回答

0

我決定創建一個意圖服務,我在廣播接收器中啓動以處理髮送消息給波段。這允許接收器快速響應並退出,並且可以在服務中發生頻帶連接。

它並不像我想象的那樣笨重。