![](/img/trans.png)
[英]Android - How to Pass Extra data with Intent to ListFragment?
[英]How to use Socket as Intent extra in Android?
我想啟動一個服務,該服務需要通過打開的Socket
連接發送和接收東西。 該Socket
是對象的字段,如下所示:
public class A implements Serializable {
Socket socket;
}
我打算將這個對象作為Intent的額外對象傳遞:
A a = getInstanceOfA(); // Get an instance of A from somewhere.
intent.putExtra("A", a);
當然, A
是可序列化的,因為它必須是可序列化的,以便將其作為附加意圖使用。 可是等等。 套接字不可序列化。
我該如何解決?
transient
,以便不進行序列化嗎? 還是在這樣做時不再能夠通過該套接字發送一些字節? Service
和BroadcastReceiver
並使用其他方法? PS:我已經讀過一些有關在Activity
之間傳輸InputStream
和Socket
的知識,但是給出的答案不是很清楚。
沒有一些可能的骯臟黑客,這是不可能的。
正如克里斯·斯特拉頓 ( Chris Stratton)所提到的那樣,可以通過用一個靜態物體或單件物品找回問題來繞過該問題。
或者,可以更改應用程序的結構,因此服務本身可以創建Socket或對其進行控制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.