有人知道是否有一种编程方式在设备上使用特定的定义APN而不是默认的APN?
谢谢.
解决方法:
您可以使用uri内容以编程方式查询和设置首选APN:// telephony / carrIErs / preferapn.要设置新的首选APN,您必须传入现有APN条目的数据库ID.如果传入APN的显示名称,则以下函数可以执行此 *** 作(例如:setPreferredApn(context,“Giffgaff”);)
public static final Uri APN_table_URI = Uri.parse("content://telephony/carrIErs");public static final Uri APN_PREFER_URI = Uri.parse("content://telephony/carrIErs/preferapn");public static boolean setPreferredApn(Context context, String name) { boolean changed = false; String columns[] = new String[] { CarrIErs._ID, CarrIErs.name }; String where = "name = ?"; String wargs[] = new String[] {name}; String sortOrder = null; Cursor cur = context.getContentResolver().query(APN_table_URI, columns, where, wargs, sortOrder); if (cur != null) { if (cur.movetoFirst()) { ContentValues values = new ContentValues(1); values.put("apn_ID", cur.getLong(0)); if (context.getContentResolver().update(APN_PREFER_URI, values, null, null) == 1) changed = true; } cur.close(); } return changed;}
我想我应该补充一点,你需要WRITE_APN_SETTINGS权限,需要导入androID.provIDer.Telephony和androID.provIDer.Telephony.CarrIErs
更新4.0
随着AndroID 4.0(ICS)的发布,该工具被禁用.启用WRITE_APN_SETTINGS权限对允许您再设置APN没有影响.有关相关链接,请参见this question.在API page,它现在明确声明此权限不是外部使用,而是在内部强制执行.
总结以上是内存溢出为你收集整理的Android APN执行全部内容,希望文章能够帮你解决Android APN执行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)