2010-11-20 52 views
4

我正在開發一款應用程序,其中Android設備將通過藍牙連接到設備,並且它們將交換某些數據包。現在,數據包通信應該在後臺運行,用戶可以瀏覽應用程序的屏幕。那麼,爲了達到這個目的,使用藍牙通信作爲服務運行是否合適?如果沒有,那麼有人可以讓我知道替代它。Android中後臺作爲服務的藍牙連接?

我還想知道的另一件事是,將服務作爲「遠程」並通過IPC或服務進行通信應該與應用程序運行在同一進程中是否是一個好主意。

+1

你有沒有做這個代碼?我一直在尋找一個Android藍牙服務,但沒有任何東西。你會如此友善地發佈代碼嗎?它會幫助很多 – Iker 2013-11-27 20:58:06

+0

@Iker:你可以爲此得到soln。即使我需要一些源代碼參考在後臺運行BT。如果是的話,請分享 – Basher51 2014-07-23 11:49:48

回答

1

是的,這是一個非常好的解決方案。其實,我認爲服務組件正是爲了這種工作。如果您不想在手機進入暫停模式時斷開連接,請務必檢查喚醒鎖。

+0

謝謝,以確認這是正確的做法。 – sunil 2010-11-22 05:13:56

+0

@sunil:你可以共享源代碼嗎?對整個社區有幫助。你是否必須利用喚醒鎖來保持連接的活躍? – Basher51 2014-07-23 11:49:10

0

是的,這是一個非常好的解決方案。 您需要在AndroidManifest文件中定義Service。

<application android:name="com.example.MyApplication" 
 
     android:allowBackup="true" 
 
     android:icon="@drawable/ic_launcher" 
 
     android:label="@string/app_name" 
 
     android:theme="@style/AppTheme" > 
 
     <service 
 
      android:name="com.example.BLEService" 
 
      android:enabled="true" />