美文网首页
通过Intent选择网络(2G/3G/4G)&打开设置程序任意界

通过Intent选择网络(2G/3G/4G)&打开设置程序任意界

作者: 有涯_ | 来源:发表于2019-04-18 22:38 被阅读0次

    项目需求需要在app中动态的切换手机网络,于是有了本文。

    话不多说,直接进入主题

    代码
                            try{
                                Intent intent = new Intent();
                                intent.setClassName("com.android.phone", "com.android.phone.settings.PreferredNetworkTypeListPreference");
                                startActivity(intent);
                            } catch(Exception e){
                                Toast.makeText(getApplicationContext(), " Device not supported" , Toast.LENGTH_LONG).show();
                            }
    
    解释

    首先,我知道手机的设置那里有切换网络的页面,于是找到那个页面,我手机这个页面名称为:网络类型选择。


    网络类型选择页面

    然后,在AS终端(Terminal)执行adb命令:adb shell dumpsys activity | grep Run。这个命令的意义为显示手机运行的Activity。在执行结果中找到“网络类型选择”页面对应的包名与全路径类型。

    命令执行结果

    最后,知道包名与类名就可以用Intent打开相应的页面了。同样的,利用这个思想可以打开所有设置页面。当然也可以打开所有第三方app的页面,不过前提是Export=“true”。

    参考内容

    相关文章

      网友评论

          本文标题:通过Intent选择网络(2G/3G/4G)&打开设置程序任意界

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