美文网首页
通过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