我试图设置移动数据.但它只适用于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,没有直接的意图推出这个特定的设置,但使用黑客你可能会提供制造商应该只使用谷歌解决方案,否则它将无法工作.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。