美文网首页Android技术知识Android开发Android开发经验谈
Android 跳转WIFI设置页面的方式及优缺点

Android 跳转WIFI设置页面的方式及优缺点

作者: 张先醒 | 来源:发表于2018-04-08 18:54 被阅读0次

    方式一:显示Intent

    Intent i = new Intent();

    if (Build.VERSION.SDK_INT >= 11) { //Honeycomb

        i.setClassName("com.android.settings", "com.android.settings.Settings$WifiSettingsActivity");

    } else {//other versions
         i.setClassName("com.android.settings", "com.android.settings.wifi.WifiSettings");

    }

    startActivity(i);

    优点:

    不会被劫持,可以直接跳转到系统的wifi设置页面。

    缺点:

    需要适配,不同厂商的不同版本的设备都可能存在差异,比如vivo,oppo,gionee,容易导致crash。

    方式二:隐式Intent

    Intent i = new Intent();

    i = new Intent(Settings.ACTION_WIFI_SETTINGS);

    startActivity(i);

    优点:

    无需适配。(暂未发现例外)

    缺点:

    可能会被wifi相关的app劫持。

    建议

    如果没有避免intent劫持的硬性要求的话,最好还是使用隐式intent,这样可以最大程度的避免crash的产生;如果一定要用显式intent的话,首先要尽可能多的在不同厂商不同版本的机型上进行测试,并且强烈建议对crash进行捕获,因为总会有适配不到的机型。特别需要注意的是,即使ComponentName componentName = intent.resolveActivity(getPackageManager()); 中的componentName != null,在startActivity(intent)时,依然可能出现crash。

    相关文章

      网友评论

        本文标题:Android 跳转WIFI设置页面的方式及优缺点

        本文链接:https://www.haomeiwen.com/subject/hitnyttx.html