我想在我的应用程序中重新显示Wi-Fi的数据传输箭头(如"快速设置"面板中所示)。我一直在查看快速设置的源代码,并被几个非公共API(AsyncChannel和WiFiManager.getWifiServiceMessenger)阻止 - 有谁知道是否有任何可以想象的方法解决这个问题?
例如,网络控制器...
// 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
将传达给"快速设置"面板。
我认为这是不可能的,但感谢您对这种预感的考虑和确认:-\
在 SO 中查看另一个问题,看起来他已经完成了监控部分。