Удалить APN (восстановить по умолчанию) - PullRequest
2 голосов
/ 10 ноября 2011

Как я могу запрограммировать функцию «Сбросить по умолчанию» из меню APN в Android?
Я использовал код из http://blogs.msdn.com/b/zhengpei/archive/2009/10/13/managing-apn-data-in-google-android.aspx для создания и установки пользовательского APN.Тем не менее, я хотел бы добавить функциональность в мой сценарий для удаления пользовательской записи из списка APN.
Есть ли способ вызвать функцию «Сброс по умолчанию»?
Если нет, как я могу удалить APN?Спасибо.

1 Ответ

3 голосов
/ 10 ноября 2011

Если нет, как я могу удалить APN?

Если вы знаете, какую запись удалить, используйте ContentResolver.delete()

Здесь URI будет: Uri APN_TABLE_URI = Uri.parse("content://telephony/carriers"); и Where будет фильтромприменить к строкам перед удалением, отформатированный как предложение SQL WHERE (исключая сам WHERE).

Есть ли способ вызвать функцию «Сброс по умолчанию»?

Чтобы восстановить настройки по умолчанию, вам необходимо создать резервную копию идентификатора APN по умолчанию.Если вы сделаете резервную копию, вы можете позвонить SetDefaultAPN(), чтобы восстановить ее.

Попробуйте, хотя, я видел это в TelephonyProvider.java .Это кажется рискованным, поэтому я предлагаю вам сделать резервную копию вашего APN

private void restoreDefaultAPN() {
        SQLiteDatabase db = mOpenHelper.getWritableDatabase();

        db.delete(CARRIERS_TABLE, null, null);
        setPreferredApnId((long)-1);
        ((DatabaseHelper) mOpenHelper).initDatabase(db);
    }
...