标签: android-wifi

如何将Android Wifi扫描结果放入列表?

我知道如何获得Android Wifi扫描,但我无法找出制作列表适配器的最佳方法.我想将SSID和BSSID从扫描绑定到text1和text2.

我一直在做的样本

wifi.startScan();
        // get list of the results in object format ( like an array )
        List<ScanResult> results = wifi.getScanResults();`

        // loop that goes through list
        for (ScanResult result : results) {
            Toast.makeText(this, result.SSID + " " + result.level,
                    Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)

和:

private void fillDataFromDb() {
        Cursor scanCursor = Db.fetchAllScans();
        startManagingCursor(scanCursor);`

        // Create an array to specify the fields we want to display in the list
        // (only TITLE)
        String[] from = new String[] { WifiDbAdapter.KEY_BSSID,
                WifiDbAdapter.KEY_SSID };

        // …
Run Code Online (Sandbox Code Playgroud)

java android listview android-wifi

28
推荐指数
3
解决办法
10万
查看次数

如何获得可用的wifi网络并将其显示在android中的列表中

朋友们,我想找到所有可用的WiFi网络并将其显示在我尝试过的列表中,如下所示.但它不起作用.我已经编辑了我的代码,现在我得到了结果但是得到了我不需要的所有结果.我只需要列表中的wifi网络名称.

public class MainActivity extends Activity {

    TextView mainText;
    WifiManager mainWifi;
    WifiReceiver receiverWifi;
    List<ScanResult> wifiList;
    StringBuilder sb = new StringBuilder();

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mainText = (TextView) findViewById(R.id.tv1);
        mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

        if (mainWifi.isWifiEnabled() == false)
        {  
             // If wifi disabled then enable it
             Toast.makeText(getApplicationContext(), "wifi is disabled..making it enabled",
             Toast.LENGTH_LONG).show();
             mainWifi.setWifiEnabled(true);
         } 

         receiverWifi = new WifiReceiver();
         registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
         mainWifi.startScan();
         mainText.setText("Starting Scan...");

     }

     public boolean onCreateOptionsMenu(Menu menu) {
            menu.add(0, 0, 0, "Refresh");
            return super.onCreateOptionsMenu(menu);
     } …
Run Code Online (Sandbox Code Playgroud)

android wifimanager android-wifi android-listview

28
推荐指数
3
解决办法
6万
查看次数

果冻豆问题 - wifiManager.getConnectionInfo().getSSID() - 额外的""

嗨所有错误报告您的信息.链接

问题详情:

守则 -wifiManager.getConnectionInfo().getSSID()

上面的代码返回当前的SSID,它返回当前的SSID,并在其周围加上额外的引号.

例如.SSID internet返回为"internet".

这只能在使用设备Nexus 7的Jelly bean 4.2上看到.

这个错误导致我们的应用程序出错,因为我们将当前的SSID与我们尝试连接的SSID进行比较.

wifiManager.getScanResults();但是,代码仍会返回所有SSID而没有额外的引号.


android ssid android-wifi android-4.2-jelly-bean

25
推荐指数
3
解决办法
4863
查看次数

如何以编程方式忘记android中的无线网络?

我正在开发一个应用程序wifi,用户将被要求输入他选择的扫描网络的密码,如果用户输入正确的密码,它连接并运行良好.但是当用户输入错误的密码时,会添加一个具有该名称的新网络,并且无法验证错误密码的cos,并且它将具有身份验证问题状态.

现在,如果用户尝试再次扫描并选择相同的网络,并输入正确的密码,即使密码现在正确并且将具有禁用状态,它也无法连接,因为之前的连接仍显示该身份验证问题状态.

如何解决这个问题呢?有没有办法忘记使用ConnectivityManager或wifimanager的所有网络?或任何其他解决方案?

java android android-wifi android-wireless android-internet

24
推荐指数
2
解决办法
2万
查看次数

Android 5.0 Lollipop和4.4 KitKat忽略了我的WiFi网络,enableNetwork()没用

我的应用程序直接连接到充当接入点的硬件设备(无法访问互联网).

我无法连接,因为Android 5.0 automaticcaly切换到有效的互联网连接,所以如果我有数据连接(3G,4G,...)或预先配置的网络我无法连接到我的设备,因为它忽略了WiFi .

那么我如何强制Android使用我以编程方式激活的网络?

我只是使用:

wifiManager.enableNetwork(id, true))
Run Code Online (Sandbox Code Playgroud)

id我要连接的设备的网络在哪里.该true参数无用.

使用的建议解决方案ConnectivityManager.requestNetwork()无效.

android connectivity android-wifi android-5.0-lollipop

24
推荐指数
2
解决办法
3272
查看次数

通过设置界面在Android Lollipop或更高版本上设置WiFi优先级

KitKat具有设置> WiFi>高级WiFi选项来设置优先级,如图所示.

这在我的Nexus Lollipop和Marshmallow设备上不存在.我看到有一个应用程序可用,但我想知道是否有一些我错过了管理这些的机载方式,如果没有,那么它的删除背后的想法是什么.

在此输入图像描述

android android-wifi

24
推荐指数
1
解决办法
5万
查看次数

如何在android模拟器中运行wifi对等应用程序..?

我正在尝试在android(4. +)中开发一个wifi对等应用程序.这里的问题是如何测试它.

我试图在android模拟器中运行该应用程序.没有选项在设置菜单中配置wifi,我也厌倦了使用开发工具应用程序从模拟器启用wifi,但它没有工作,并通过我所有的谷歌搜索超过3天,我发现Android模拟器不支持无线上网.

所以我选择了使用虚拟盒的androidx86 4.0eeepc并且厌倦了添加wifi和蓝牙设备(我的应用程序同时使用蓝牙和wifi)但是只添加了蓝牙设备并且它无法正常工作.但我的虚拟盒子检测到了wifi和蓝牙设备.我只是无法让他们使用虚拟机.

我尝试了一切,比如在androidx86中使用终端模拟器应用程序手动添加地址,并netcfg通过android命令行使用,但它们都没有工作.

请建议并指导我在正确的路径上运行这些在android中使用wifi和蓝牙的应用程序.

提前致谢.

android bluetooth wifi android-wifi android-x86

23
推荐指数
2
解决办法
1万
查看次数

如何使用Mockito模拟Context?

我正在使用Context来访问WifiManager和BluetoothManager等系统级服务.如何使用Mockito模拟这个getApplicationContext()?

android bluetooth mockito android-context android-wifi

23
推荐指数
3
解决办法
3万
查看次数

在Android Oreo 8.x中更改WiFi热点的SSID和密码

在我的Android应用程序中,我使用以下代码片段:

@RequiresApi(api = Build.VERSION_CODES.O)
private void turnOnHotspot(){
    WifiManager manager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);

    manager.startLocalOnlyHotspot(new WifiManager.LocalOnlyHotspotCallback(){

        @Override
        public void onStarted(WifiManager.LocalOnlyHotspotReservation reservation) {
            super.onStarted(reservation);
            Log.d(TAG, "Wifi Hotspot is on now");
        }

        @Override
        public void onStopped() {
            super.onStopped();
            Log.d(TAG, "onStopped: ");
        }

        @Override
        public void onFailed(int reason) {
            super.onFailed(reason);
            Log.d(TAG, "onFailed: ");
        }
    },new Handler());
}
Run Code Online (Sandbox Code Playgroud)

这段代码创建了一个名为"AndroidShare_1234"的热点.对于我的项目,我需要能够为此热点设置密码和SSID,但是我找不到这样做的方法.我想创建一个SSID MyHotspot 和自定义密码的热点.

请注意,setWifiApEnabled Android O中不再支持此功能,这是在旧版Android中完成的.但是,我仍然需要以编程方式使用SSID和密码创建一个wifi热点.我无法弄清楚如何做到这一点.提前致谢!

谁关心...:

对于一个学校项目,我制作了一个储物柜,只要它可以连接到具有某些警告的无线网络,就可以解锁,因此需要以编程方式设置热点.

java android android-wifi hotspot android-8.0-oreo

23
推荐指数
1
解决办法
4436
查看次数

用wi-fi(没有笔记本电脑或接入点)连接两部Android手机并发送文件

是否可以通过Wi-Fi连接两部Android手机,而无需使用蓝牙/ GSM/CDMA/IR?此外,没有任何笔记本电脑或Wi-Fi接入点或Wi-Fi路由器.

我认为,可以在两部手机上创建一些SSID,进行静态配置IP地址.android会连接到另一个的Android wi-fi吗?

如果它们将被连接,我如何将文件从一部手机发送到第二部?有ftp客户端和服务器吗?或者我可以ssh到其他手机?还是telnel/netcat?也许http?

android wifi android-wifi

22
推荐指数
1
解决办法
9万
查看次数