支持的SUPL服务器,AGPS SUPL服务器客制化

1 ,获取当前有效 AGPS 配置接口

AgpsProfileManager mProfileMgr =

AgpsProfileManager.getProfileManager(context);

MtkAgpsProfile profile = mProfileMgr.getCurrentProfile() ;

String name = profile.name; // 进行查询或者设置的依据

String slpName = profile.slpName; // 在 AGPS 设置中的 UI 显示

String backupsName = profile.backupSlpNameVar; // 只是个备份名字,暂无其他作用

String addr = profile.addr; // SUPL IP 地址

int port = profile.port; // SUPL 端口

int tls = profile.tls; // 是否要安全认证, 0 不需要, 1 需要

int showType = profile.showType;

// 显示类型, 0 表示总是显示, 1 表示工厂模式下显示, 2 根据运营商码显示

2 ,获取系统内其他 AGPS 配置接口

MtkAgpsProfile profile = mProfileMgr.getProfile("name");

// name 在实际使用中只能用已经成功在数据库中保存的 profile code 进行代替 ( 如 GOOGLE ,

NOKIA 或者自己配置成功的 ) 。

3 ,设置当前有效 AGPS 接口

mProfileMgr.setCurrentProfile ( "GOOGLE" );

// GOOGLE 可以用 NOKIA 或者自己修改后的 profile code 代替。

mProfileMgr.switchAgpsProfile() ; // 这个函数调用后才可以使得刚才设置项立即生效。

4 ,修改系统内的 AGPS 配置接口

// updateItem(String profile_name, String item_name, String value)

mProfileMgr.updateItem(mProfileMgr.getCurrentProfileCode(), // 当前有效 AGPS 服

务器

mProfileMgr.PROFILE_PORT, "7275");

// 这种更改的方法 profile_name 可以是所有已经写入到系统的 profile.name ,

// item_name 只能是 mProfileMgr.PROFILE_NAME/mProfileMgr.PROFILE_ADDRESS/

// mProfileMgr.PROFILE_PORT/mProfileMgr.PROFILE_TLS 中的一个

5 ,新增一个有效 Agps 服务器接口

ContentValues values = new ContentValues();

values.put(AgpsProfileColumns.PROFILE_CODE, "NewServer");

values.put(AgpsProfileColumns.PROFILE_IP_ADDRESS, "173.173.173.173");

values.put(AgpsProfileColumns.PROFILE_SLP_NAME, "NewServerName");

values.put(AgpsProfileColumns.PROFILE_BACKUP_SLP_NAME_VAR,

"NewServerNameBackup");

values.put(AgpsProfileColumns.PROFILE_PORT, "7275");

values.put(AgpsProfileColumns.PROFILE_TTL, "1");

values.put(AgpsProfileColumns.PROFILE_SHOW_TYPE, "0");

profile_manager.insertOrUpdateProfile(profileCode, values);

6 ,为了达到恢复出厂设置,可以采用以下接口实现:

AgpsProfileManager mProfileMgr =

AgpsProfileManager.getProfileManager(context);

mProfileMgr.resetAllProfile();