由于Android对于APN的网络API没有公开,不过我们可以阅读源代码,然后进行数据库操作,系统会自动监听数据库的变化,从而实现开启或者关闭APN。
大家可以研究一下frameworks/base/core/Java/android/provider/Telephony.java这个类,比较重要的就是 URI 和数据库字段: content://telephony/carriers。字段可以在Telephony.java中找到。
1、当开启APN的时候,设置一个正确的移动或者联通的APN
   2、关闭的时候设置一个错误APN就会自动关闭网络
复制到剪贴板 Java代码
package cc.mdev.Demo;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

  

/**
* Activity
* @author SinFrancis wong
* @site http://mdev.cc
* @wiki http://mdev.cc/wiki
* @since 2010-01-08
*/

public class Main extends Activity {

/** Called when the activity is first created. */

Uri uri = Uri.parse("content://telephony/carriers");

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button open= (Button) findViewById(R.id.open);

Button close= (Button) findViewById(R.id.close);

open.setOnClickListener(new View.OnClickListener() {



@Override
public void onClick(View v) {


openAPN();

}

});

close.setOnClickListener(new View.OnClickListener() {

  
@Override
public void onClick(View v) {

closeAPN();


}

});

}