怎么用代码关闭或者打开数据连接??求帮助数据连接

解决方案 »

  1.   

    android.database.sqlite.SQLiteOpenHelper
    怎么用自己查API文档
      

  2.   

    用反射获取ConnectivityManager来实现关闭和打开(如果有源码的话  可以试试在源码下编译 看能直接调用相关api么)
    大概代码如下
    private void toggleMobileData(Context context, boolean enabled) {
         ConnectivityManager conMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);     Class<?> conMgrClass = null; // ConnectivityManager类
         Field iConMgrField = null; // ConnectivityManager类中的字段
         Object iConMgr = null; // IConnectivityManager类的引用
         Class<?> iConMgrClass = null; // IConnectivityManager类
         Method setMobileDataEnabledMethod = null; // setMobileDataEnabled方法     try {
          // 取得ConnectivityManager类
          conMgrClass = Class.forName(conMgr.getClass().getName());
          // 取得ConnectivityManager类中的对象mService
          iConMgrField = conMgrClass.getDeclaredField("mService");
          // 设置mService可访问
          iConMgrField.setAccessible(true);
          // 取得mService的实例化类IConnectivityManager
          iConMgr = iConMgrField.get(conMgr);
          // 取得IConnectivityManager类
          iConMgrClass = Class.forName(iConMgr.getClass().getName());
          // 取得IConnectivityManager类中的setMobileDataEnabled(boolean)方法
          setMobileDataEnabledMethod = iConMgrClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
          // 设置setMobileDataEnabled方法可访问
          setMobileDataEnabledMethod.setAccessible(true);
          // 调用setMobileDataEnabled方法
          setMobileDataEnabledMethod.invoke(iConMgr, enabled);
         } catch (ClassNotFoundException e) {
          e.printStackTrace();
         } catch (NoSuchFieldException e) {
          e.printStackTrace();
         } catch (SecurityException e) {
          e.printStackTrace();
         } catch (NoSuchMethodException e) {
          e.printStackTrace();
         } catch (IllegalArgumentException e) {
          e.printStackTrace();
         } catch (IllegalAccessException e) {
          e.printStackTrace();
         } catch (InvocationTargetException e) {
          e.printStackTrace();
         }
        }
      

  3.   

    一般这类底层调用,从android 4.0开始都失效了