2012-06-11 17 views
3

我正在編寫一個應用程序,只有當其他應用程序/系統沒有正在進行的網絡使用時,才需要執行一些任務。如何確定BlackBerry智能手機上是否存在任何正在進行的網絡使用情況?

在右上角有一個可愛的小箭頭顯示它,但當然,我需要以編程方式檢查它。 API中是否有任何功能允許我這樣做?

我正在爲BB OS 6.0開發。我已經搜索堆棧溢出和谷歌沒有運氣。我將不勝感激地指引我朝着正確的方向前進。

回答

2

由操作系統和AFAIK控制,無法從您的應用代碼中檢查它。但正如你所指出的那樣,右上角有箭頭。如果您可以截取屏幕截圖並在其中顯示頂部欄,則可以在給定時間內檢測網絡活動。

使用這些API你唯一能做的就是檢查連通性。如果沒有覆蓋範圍,則可以確定沒有網絡流量(但同時您不能使用網絡)。您還可以使用RadioInfo類來計數發送或接收的數據包的數量。

+0

不是'RadioInfo.getNumberOfPacketsReceived()'和'RadionInfo。 getNumberOfPacketsSent()「他/她想要什麼?他可以創建一個後臺線程以某種恆定速率輪詢這兩個值?它看起來像是最後一句與你答案的其餘部分相沖突,並且可能會從開始閱讀第一段並放棄的人那裏隱藏你非常好的見解。 – Nate

+0

@Nate不知道他/她想要什麼。發送或接收的數據包總數並沒有說明在給定時刻是否有網絡活動。這是關於過去的信息,他需要關於現在的信息。但即使他設法檢測到它,也無法阻止其他應用程序在應用程序啓動時進行連接。 –

+0

好吧,任何平臺上的API都不會告訴你其他應用程序*即將開始做什麼*,對嗎?如果您假設海報能夠理解時間維度的這種限制,那麼似乎有理由得出結論:最近的過去(比如說最後幾秒鐘)會成爲*現在的代表*。 – Nate

相關問題