BlockedNumberContract Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Контракт между поставщиком blockednumber и приложениями.
[Android.Runtime.Register("android/provider/BlockedNumberContract", ApiSince=24, DoNotGenerateAcw=true)]
public class BlockedNumberContract : Java.Lang.Object
[<Android.Runtime.Register("android/provider/BlockedNumberContract", ApiSince=24, DoNotGenerateAcw=true)>]
type BlockedNumberContract = class
inherit Object
- Наследование
- Атрибуты
Комментарии
Контракт между поставщиком blockednumber и приложениями. Содержит определения для поддерживаемых URI и столбцов.
<Обзор <h3> /h3>
Поставщик содержимого предоставляет таблицу, содержащую заблокированные номера. Столбцы и URI для доступа к этой таблице определяются классом BlockedNumbers
. Сообщения и звонки с заблокированных номеров отклоняются платформой. Уведомления об изменениях поставщика можно получать с помощью android.database.ContentObserver
.
Платформа не будет блокировать сообщения и звонки с номеров экстренных служб, как определено в android.telephony.PhoneNumberUtils#isEmergencyNumber(String)
. Если пользователь обращается к экстренным службам, блокировка номеров отключается платформой на время, определенное параметром android.telephony.CarrierConfigManager#KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT
.
<Разрешения <h3> /h3>
Только система, SMS-приложение по умолчанию и телефонное приложение по умолчанию (см. android.telecom.TelecomManager#getDefaultDialerPackage()
) и приложения оператора связи (см. android.service.carrier.CarrierService
) могут читать и записывать данные поставщику blockednumber. #canCurrentUserBlockNumbers(Context)
Однако доступ к ней может осуществляться любым приложением.
<h3> Data </h3>
Помимо обычных телефонных номеров, поставщик заблокированных номеров также может хранить адреса (например, электронную почту), с которых пользователь может получать сообщения и звонки. Заблокированные номера хранятся в столбце BlockedNumbers#COLUMN_ORIGINAL_NUMBER
. Нормализованная версия телефонных номеров (если нормализация возможна) хранится в столбце BlockedNumbers#COLUMN_E164_NUMBER
. Платформа блокирует вызовы и сообщения с адреса, если он присутствует в столбце BlockedNumbers#COLUMN_ORIGINAL_NUMBER
или если версия адреса E164 совпадает со столбцом BlockedNumbers#COLUMN_E164_NUMBER
.
<h3> Operations </h3><dl><dt><b>Insert</b></dt><dd>
BlockedNumbers#COLUMN_ORIGINAL_NUMBER
— обязательный столбец, который необходимо заполнить. При необходимости приложения могут предоставить BlockedNumbers#COLUMN_E164_NUMBER
, который является представлением номера телефона E164. Поставщик автоматически заполняет этот столбец, если приложение не предоставляет его. Обратите внимание, что этот столбец не заполняется в случае сбоя нормализации или если адрес не является номером телефона (например, адресом электронной почты).
Попытка вставить существующий заблокированный номер (тот же BlockedNumbers#COLUMN_ORIGINAL_NUMBER
столбец) приведет к замене существующего заблокированного номера.
Примеры:
ContentValues values = new ContentValues();
values.put(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "1234567890");
Uri uri = getContentResolver().insert(BlockedNumbers.CONTENT_URI, values);
ContentValues values = new ContentValues();
values.put(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "1234567890");
values.put(BlockedNumbers.COLUMN_E164_NUMBER, "+11234567890");
Uri uri = getContentResolver().insert(BlockedNumbers.CONTENT_URI, values);
ContentValues values = new ContentValues();
values.put(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "12345@abdcde.com");
Uri uri = getContentResolver().insert(BlockedNumbers.CONTENT_URI, values);
</p></dd><dt><b>Update</b></dt><dd>
Обновления не поддерживаются. Вместо этого используйте команду Удалить и Вставить.
</dd><dt><b>Delete</b></dt><dd>
Удаление можно выполнить следующим образом:
ContentValues values = new ContentValues();
values.put(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "1234567890");
Uri uri = getContentResolver().insert(BlockedNumbers.CONTENT_URI, values);
getContentResolver().delete(uri, null, null);
Чтобы проверка, если определенное число заблокировано, используйте метод #isBlocked(Context, String)
. </p></dd><dt><b>Query</b></dt><dd>
Все заблокированные номера можно перечислить следующим образом:
Cursor c = getContentResolver().query(BlockedNumbers.CONTENT_URI,
new String[]{BlockedNumbers.COLUMN_ID, BlockedNumbers.COLUMN_ORIGINAL_NUMBER,
BlockedNumbers.COLUMN_E164_NUMBER}, null, null, null);
</p></dd><dt><b>Разблокировать</b></dt><dd>
Используйте метод #unblock(Context, String)
для разблокировки чисел.
</Dd>
<h3> Multi-user </h3>
Приложения должны использовать метод #canCurrentUserBlockNumbers(Context)
перед выполнением каких-либо операций с заблокированным поставщиком номеров. Если #canCurrentUserBlockNumbers(Context)
возвращает значение false
, все операции с поставщиком завершатся ошибкой SecurityException
. Платформа будет блокировать звонки и сообщения с номеров в поставщике независимо от текущего пользователя.
Документация по Java для android.provider.BlockedNumberContract
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
Конструкторы
BlockedNumberContract(IntPtr, JniHandleOwnership) |
Контракт между поставщиком blockednumber и приложениями. |
Поля
Authority |
Полномочия для заблокированного поставщика номеров |
Свойства
AuthorityUri |
Универсальный код ресурса (URI) стиля content:// для центра для заблокированного поставщика номеров. |
Class |
Возвращает класс среды выполнения данного объекта |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
JniIdentityHashCode |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
JniPeerMembers |
Контракт между поставщиком blockednumber и приложениями. |
PeerReference |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
ThresholdClass |
Контракт между поставщиком blockednumber и приложениями. |
ThresholdType |
Контракт между поставщиком blockednumber и приложениями. |
Методы
CanCurrentUserBlockNumbers(Context) |
Проверяет, поддерживается ли блокировка номеров для текущего пользователя. |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
Dispose() |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
Dispose(Boolean) |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
Equals(Object) |
Указывает, равен ли какой-то другой объект этому объекту. (Унаследовано от Object) |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
IsBlocked(Context, String) |
Возвращает значение, указывающее, находится ли заданное число в списке заблокированных. |
JavaFinalize() |
Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект . (Унаследовано от Object) |
Notify() |
Пробуждает один поток, ожидающий монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. (Унаследовано от Object) |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
ToArray<T>() |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
Unblock(Context, String) |
Разблокирует , |
UnregisterFromRuntime() |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
Wait() |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.>< (Унаследовано от Object) |
Wait(Int64) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
IJavaPeerable.Finalized() |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
IJavaPeerable.JniManagedPeerState |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Контракт между поставщиком blockednumber и приложениями. (Унаследовано от Object) |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверенного средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Контракт между поставщиком blockednumber и приложениями. |
GetJniTypeName(IJavaPeerable) |
Контракт между поставщиком blockednumber и приложениями. |