編輯:高級開發
這裡涉及到兩個URI,分別是apn列表uri:content://telephony/carriers,主apn的uri:content://telephony/carrIErs/preferapn,
首先,向apn列表中插入一行,需要的屬性有name、apn和numeric。numeric要看不同的系統設置,我遇過的有的是46001,還有的是別的,沒記得太清楚。然後根據插入的id,把該行設置為主apn的行。這樣settings裡面就會自動去讀取。具體實現如下:
Java代碼
public void setApn(VIEw v) {
final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (adapter.isEnabled()) {
adapter.disable();
} else {
setMainAPN(getAPNId());
}
}
private int getAPNId() {
int id = -1;
ContentValues values = new ContentValues();
values.put("name", "suking");
values.put("apn", "3gnet");
values.put("numeric", "46001");
ContentResolver resolver = getContentResolver();
Cursor c = null;
Uri newRow = resolver.insert(APN_URI, values);
if (newRow != null) {
c = resolver.query(newRow, null, null, null, null);
int idIndex = c.getColumnIndex("_id");
c.moveToFirst();
id = c.getShort(idIndex);
}
if (c != null) {
c.close();
}
return id;
}
private void setMainAPN(int id) {
ContentResolver resolver = getContentResolver();
ContentValues values = new ContentValues();
values.put("apn_id", id);
resolver.update(MAIN_APN, values, null, null);
}
public void setApn(VIEw v) {
final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (adapter.isEnabled()) {
adapter.disable();
接上頁
} else {
setMainAPN(getAPNId());
}
}
private int getAPNId() {
int id = -1;
ContentValues values = new ContentValues();
values.put("name", "suking");
values.put("apn", "3gnet");
values.put("numeric", "46001");
ContentResolver resolver = getContentResolver();
Cursor c = null;
Uri newRow = resolver.insert(APN_URI, values);
if (newRow != null) {
c = resolver.query(newRow, null, null, null, null);
int idIndex = c.getColumnIndex("_id");
c.moveToFirst();
id = c.getShort(idIndex);
}
if (c != null) {
c.close();
}
return id;
}
private void setMainAPN(int id) {
ContentResolver resolver = getContentResolver();
ContentValues values = new ContentValues();
values.put("apn_id", id);
resolver.update(MAIN_APN, values, null, null);
}
注意到,在設置apn網絡之前,首先是判斷藍牙適配器是否可用,如果可用需要把藍牙關閉。
由於目前基於android的手機價格比較貴。如果只是為了體驗android,花幾千元買個手機也不值得。不過幸好Google想到了這一點,剛剛推出了Android Li
移動開發已經毫無爭議地成為軟件領域的發展趨勢,嶄新的領域和模式不僅僅為各個廠商,也會普通的開發者打開了一扇阿裡巴巴之門。本文摘取自台灣知名技術專家,台灣公認的“OO教父
android 2.3已經於上周正式發布了。51CTO也已經給大家介紹了android 2.3 SDK的下載地址和如何安裝android 2.3 SDK。具體如何下載安
目標:利用NDK 生成 SO 庫,使用 SO 庫進行 JNI 調用,在 android sdcard 創建文件並寫入數據。 工具:NDK1.5 R1, android