android – 我要做什么来启动手机上网设置对话框?

android – 我要做什么来启动手机上网设置对话框?,第1张

概述我试图设置移动数据.但它只适用于SIM卡1. public static void setMobileData(Context context, boolean isEnabled) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, NoSuchMethodException, Invocati 我试图设置移动数据.但它只适用于SIM卡1.
public static voID setMobileData(Context context,boolean isEnabled) throws NoSuchFIEldException,ClassNotFoundException,illegalaccessexception,NoSuchMethodException,InvocationTargetException {    ConnectivityManager conman = (ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);    @SuppressWarnings("rawtypes")    final Class conmanClass = Class.forname(conman.getClass().getname());    final FIEld iConnectivityManagerFIEld = conmanClass.getDeclaredFIEld("mService");    iConnectivityManagerFIEld.setAccessible(true);    final Object iConnectivityManager = iConnectivityManagerFIEld.get(conman);    final Class iConnectivityManagerClass = Class.forname(iConnectivityManager.getClass().getname());    Class[] cArg = new Class[2];    cArg[0] = String.class;    cArg[1] = Boolean.TYPE;    Method setMobileDataEnabledMethod;    setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled",cArg);    Object[] pArg = new Object[2];    pArg[0] = context.getPackagename();    pArg[1] = isEnabled;    setMobileDataEnabledMethod.setAccessible(true);    setMobileDataEnabledMethod.invoke(iConnectivityManager,pArg);}public static voID setMobileData2(Context context,boolean isEnabled) throws NoSuchMethodException,NoSuchFIEldException,InvocationTargetException {    final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);    final Class conmanClass = Class.forname(conman.getClass().getname());    final FIEld iConnectivityManagerFIEld = conmanClass.getDeclaredFIEld("mService");    iConnectivityManagerFIEld.setAccessible(true);    final Object iConnectivityManager = iConnectivityManagerFIEld.get(conman);    final Class iConnectivityManagerClass = Class.forname(iConnectivityManager.getClass().getname());    final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled",Boolean.TYPE);    setMobileDataEnabledMethod.setAccessible(true);    setMobileDataEnabledMethod.invoke(iConnectivityManager,isEnabled);}public static boolean setMobileData3(Context context,boolean isEnable) {    boolean mobileDataAllowed = Settings.Secure.putInt(context.getContentResolver(),"mobile_data",isEnable?1:0);    return mobileDataAllowed;}

但是现在我只想启动默认的移动选择对话框.如果你有任何想法,启动该对话框让我知道..谢谢提前.

.

解决方法 多SIM卡支持仅添加在AndroID的棒棒糖5.1起.在此之前,不同的手机制造商有自己的定制实现来支持Multi SIM和各自的设置.因此,如果您针对一般解决方案,则无法实现.即使在5.1,没有直接的意图推出这个特定的设置,但使用黑客你可能会提供制造商应该只使用谷歌解决方案,否则它将无法工作. 总结

以上是内存溢出为你收集整理的android – 我要做什么来启动手机上网设置对话框?全部内容,希望文章能够帮你解决android – 我要做什么来启动手机上网设置对话框?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1132370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存