[英]How to reestablish a Bluetooth connection after I leave an activity in Android Studio?
[英]Android: How to pass a Bluetooth connection to another Activity?
我有我的第一個活動,其中建立了BT連接。 有一個選項呈現給用戶,並根據他們的選擇,加載不同的活動。
問題是,這兩個活動都需要BT連接,而我沒有看到破壞一個連接只是為了制造另一個連接。
有沒有辦法可以傳遞活動之間的聯系?
有沒有人為我或某個鏈接提供一些例子?
我試過“ class MyApplication extends Application
”,但后來我不能使用:
super.onCreate(savedInstanceState);
setContentView(R.layout.blablabla);
這可能是一個非常愚蠢的問題,但我只是在Android + - 2周。
您是否嘗試使用Application對象將藍牙連接存儲在對象中並使用您的活動來獲取它?
嘗試這樣的事情。 (注意:我從未在Android上使用藍牙,所以我不知道使用哪些相關類。在這種情況下,我將使用BluetoothDevice
,因為它似乎是基於庫文檔的正確類)
public class MyApplication extends Application {
BluetoothDevice device;
...
public synchronized BluetoothDevice getBtConnection() {
if (device == null) {
// construct a BluetoothDevice object and put it into variable device
}
return device;
}
}
這樣,你的第一個活動必須這樣做:
public class FirstActivity extends Activity {
private BluetoothDevice device;
...
@Override
protected void onCreate(Bundle b) {
super(b);
...
device = ((MyApplication) getApplication()).getBtDevice();
...
}
...
}
然后,只要你的其他活動需要使用該連接,他們只需要調用getBtDevice()
,因為FirstActivity
已經實例化了它。
我知道這是一個老問題,但對於訪問此主題的新人來說:
我認為Kibibyte的答案也可行,但除此之外還有使用(Bound)Service
的選項。 即使應用程序關閉,這也會運行
我有同樣的問題,最后解決了! 所以首先你應該在一個活動中創建你的連接,並確保連接存儲在公共靜態變量中,你可以在你希望擁有藍牙連接的每個活動中調用該連接變量。 我建議你使用服務類來創建連接並使用這樣的連接變量
BluetoothChatService mChatService=DeviceListActivity.chatService
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.