我自动化的testing程序的WiFi呼叫,我想知道有没有办法通过ADBclosures/无线上网? 我要么要禁用/启用wifi或杀死wifi呼叫(com.movial.wificall),并重新启动它。 是否有可能通过adb和shell命令完成这一切? 到目前为止,我发现: android.net.wifi.WifiManager setWifiEnabled(true/false) 我只是不知道如何把它放在一起
在我的应用程序中,我有一个BroadcastReceiver ,通过<receiver>标记作为组件启动,过滤android.net.conn.CONNECTIVITY_CHANGE意图。 我的目标是简单地知道什么时候build立了Wifi连接,所以我在onReceive()做的是这样的: NetworkInfo networkInfo = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); if(networkInfo.getType() == ConnectivityManager.TYPE_WIFI && networkInfo.isConnected()) { // Wifi is connected } 它工作正常,但我似乎总是在build立一个Wifi连接约一秒钟之内得到两个相同的意图。 我试图查看任何信息,我可以从意图, ConnectivityManager和WifiManager ,但我找不到任何区别两个意图。 查看日志,至less有一个其他BroadcastReceiver也收到两个相同的意图。 它运行在Android 2.2的HTC Desire上 任何想法,为什么我似乎得到一个“重复”的意图,当Wifi连接或两者之间的差异可能是什么?
如何在Android模拟器上启用WiFi? 我试图find这个,但每个人都混淆WiFi与3G。
我正在开发一个android广播接收器来检查互联网连接。 问题是我的广播接收器被调用了两次。 我希望它只在networking可用时才被调用。 如果不可用,我不需要通知。 这是广播接收机 public class NetworkChangeReceiver extends BroadcastReceiver { @Override public void onReceive(final Context context, final Intent intent) { final ConnectivityManager connMgr = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); final android.net.NetworkInfo wifi = connMgr .getNetworkInfo(ConnectivityManager.TYPE_WIFI); final android.net.NetworkInfo mobile = connMgr .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (wifi.isAvailable() || mobile.isAvailable()) { // Do something Log.d("Network Available ", "Flag No 1"); } […]
在WiFi下连接时,如何获取手机的IP地址? 我在这里find了一个方法,但是它返回类似于24.182.239.255的东西,即使我在wifi下,我也期望类似192.168.1.10。 我想要这样的东西: if (you are under wifi) String ip4 = getWifiIP() else String ip4 = getIPAddress with the method linked before 非常感谢!
我以为我应该使用NetworkInterface :: getDisplayName。 我有一些名字,但是这个名字是不同的,我可以看到这个名字,当我select我想要连接的networking。 请帮忙.. [编辑] 根据Loxley的回答: WifiManager wifiMgr = (WifiManager) getActivity().getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiMgr.getConnectionInfo(); String name = wifiInfo.getSSID();
什么是我需要在Android 2.2(Froyo)创build一个Wifi热点(如在networking共享和便携式热点设置项目中看到)的API调用。
昨天我的Nexus 5从Android MNC收到更新到版本6.0 – Marshmallow 。 此后,扫描设备中可用networking的操作停止接收列表,在这种情况下,结果列表的大小为0,即使Wifi系统设置中列出了10个以上的Wifinetworking。 代码如下:注册SCAN_RESULTS_AVAILABLE_ACTION并等待Receiver中的事件,如下所示: // Register the Receiver in some part os fragment… getActivity().registerReceiver(wifiListener, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); WifiManager wifiManager = (WifiManager) getActivity().getSystemService(Context.WIFI_SERVICE); wifiManager.startScan(); // Inside the receiver: WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); List<ScanResult> results = wifiManager.getScanResults(); // the result.size() is 0 after update to Android v6.0, same code working in older devices. […]
我可以枚举范围内的所有无线networking(使用startScan + SCAN_RESULTS_AVAILABLE_ACTION + getScanResults)并获得他们的SSID和BSSID值,但我不知道如何确定每个networking的安全types。 在我的主要对象: IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); registerReceiver(scanReceiver, intentFilter); ((WifiManager)getSystemService(Context.WIFI_SERVICE)).startScan(); 在我的scanReceiver对象中: public void onReceive(Context c, Intent intent) { if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(intent.getAction())){ mainObject.scanComplete(); } } 再次以我的主要目的: public void scanComplete() { List<ScanResult> networkList = ((WifiManager)getSystemService.(Context.WIFI_SERVICE)).getScanResults(); for (ScanResult network : networkList) { <do stuff> } } 代码的作品,scanComplete最终被调用,我可以成功地枚举所有附近的WiFinetworking,并获得他们的SSID和BSSID,但我不知道如何确定他们的安全types。 有没有办法做到这一点? 提前致谢。
我的class级必须实现哪一个监听器来自动检查代码是否连接/断开? 我能够手动检查无线连接/断开,但每次我需要从Android设置连接/断开WIFI,然后运行我的程序的结果。 请帮忙。 提前感谢。 我现在的代码很简单: WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE); if (wifi.isWifiEnabled()==true) { tv.setText("You are connected"); } else { tv.setText("You are NOT connected"); }