我想在我的应用程序中重新显示 Wi-Fi 的数据传输箭头(如“快速设置”面板中所示)。我一直在查看“快速设置”的源代码,但被几个非公共(public) API(AsyncChannel 和 WiFiManager.getWifiServiceMessenger)所阻碍 - 有人知道是否有任何可能的解决方法吗?
例如,网络 Controller ...
// wifi
mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
Handler handler = new WifiHandler();
mWifiChannel = new AsyncChannel(); //Private
Messenger wifiMessenger = mWifiManager.getWifiServiceMessenger(); // Private
if (wifiMessenger != null) {
mWifiChannel.connect(mContext, handler, wifiMessenger);
}
...在...中处理
// ===== Wifi ===================================================================
class WifiHandler extends Handler {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
...
case WifiManager.DATA_ACTIVITY_NOTIFICATION:
if (msg.arg1 != mWifiActivity) {
mWifiActivity = msg.arg1;
refreshViews();
}
break;
...
}
}
}
...其中 mWifiConnectivity
与快速设置面板通信。
我认为这是不可能的,但感谢您对这种预感的考虑和确认:-\
最佳答案
看看这个other question在 SO 中,看起来他已经完成了监控部分。
关于android - 对于 Android Wi-Fi,是否可以监控输入/输出(例如上/下)数据传输信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21976767/