-1
我開發了一個帶有3-4個活動的Android-藍牙應用程序。現在我必須在任何這些活動中接收藍牙數據。 我想我必須實現一個包含BroadcastReceiver的服務,它偵聽傳入的BlueTooth數據併發送廣播,但我不知道該怎麼做。在整個應用程序中接收藍牙數據
在此先感謝。
我開發了一個帶有3-4個活動的Android-藍牙應用程序。現在我必須在任何這些活動中接收藍牙數據。 我想我必須實現一個包含BroadcastReceiver的服務,它偵聽傳入的BlueTooth數據併發送廣播,但我不知道該怎麼做。在整個應用程序中接收藍牙數據
在此先感謝。
您可以實現自己的BroadcastReceiver。所以,當您的LocalService接收到數據時,它將使用sendBroadcast方法進行通知。您的活動應該註冊特定的BrodcastReceiver。
在服務
通知有關收到的消息:
public void onMessageReceived(String message) {
Intent intent = new Intent(ACTION_BLUETOOTH_MESSAGE);
intent.putExtra(BLUETOOTH_MESSAGE_CONTENT, message);
sendBroadcast(intent);
}
在每個活動
註冊的廣播接收器:
registerReceiver(messageReceiver,
new IntentFilter(ACTION_BLUETOOTH_MESSAGE));
實現廣播接收機:
private BroadcastReceiver messageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String message = intent.getStringExtra(BLUETOOTH_MESSAGE_CONTENT);
//Do something you want
}
};
不錯!非常感謝,我明天會嘗試。 :) – Prexx
所以...我的LocalService擴展服務...我必須從其他東西延伸它的工作嗎?我需要在我的AndroidManifest.xml中指定多於' '? –
Prexx
是的,你是對的。從Service中擴展並在清單中添加該行。之後,開始你的服務。更多細節:http://developer.android.com/guide/components/services.html –