如何以编程方式为SIMCARD2设置默认APN

时间:2017-03-26 21:14:45

标签: android sim-card

我有一个在系统帐户下运行的应用程序,其中一个功能是根据客户端的配置创建自定义APN。

下面的代码工作正常,但只需创建APN并将其设置为simcard 1的默认值。如果软件在Android 5或更高版本上运行,则希望根据sim卡设置它。我找不到任何关于它的文档。任何人都知道关于APN的其他事情吗?

    public static int createNewApn(Context context, APN apn, boolean setAsDefaultAPN) {
    int apnid = -1;

    try {
        if (apn != null) {
            Uri APN_URI = Uri.parse("content://telephony/carriers");
            ContentResolver resolver = context.getContentResolver();
            ContentValues values = prepareValues(apn);
            Cursor c = null;
            Uri newRow = resolver.insert(APN_URI, values);

            if (newRow != null) {
                c = resolver.query(newRow, null, null, null, null);

                int tableIndex = c.getColumnIndex("_id");
                c.moveToFirst();
                apnid = c.getShort(tableIndex);
            }

            if (c != null) {
                c.close();
            }

            if (apnid > -1 && setAsDefaultAPN) {
                ContentValues v = new ContentValues(1);
                v.put("apn_id", apnid);

                context.getContentResolver().update(APN_PREFER_URI, v, null, null);
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return apnid;
}

0 个答案:

没有答案