Language

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
継承
BlockedNumberContract
属性

注釈

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 参照) のみが、ブロック番号プロバイダーに対して読み取りと書き込みを行うことができます。 ただし、 #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 は、設定する必要がある必須の列です。 アプリは、必要に応じて、電話番号の E164 表現である BlockedNumbers#COLUMN_E164_NUMBER を提供できます。 プロバイダーは、アプリが列を提供しない場合に、この列を自動的に設定します。 正規化に失敗した場合、またはアドレスが電話番号 (例: 電子メール) でない場合、この列は設定されないことに注意してください。

既存のブロック番号 (同じ 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>

更新プログラムはサポートされていません。 代わりに Delete と Insert を使用します。

</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>Unblock</b></dt><dd>

数値のブロックを解除するには、メソッド #unblock(Context, String) を使用します。

</dd>

<h3> マルチユーザー </h3>

アプリは、ブロックされた番号プロバイダーに対して操作を実行する前に、 #canCurrentUserBlockNumbers(Context) メソッドを使用する必要があります。 #canCurrentUserBlockNumbers(Context)がfalseを返した場合、プロバイダーに対するすべての操作はSecurityExceptionで失敗します。 プラットフォームは、現在のユーザーとは無関係に、プロバイダー内の番号からの呼び出しとメッセージをブロックします。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
BlockedNumberContract(IntPtr, JniHandleOwnership)

blockednumber プロバイダーとアプリケーションの間のコントラクト。

フィールド

名前 説明
Authority

ブロックされた番号プロバイダーの権限

プロパティ

名前 説明
AuthorityUri

ブロックされた番号プロバイダーの権限に対する content:// スタイル URI

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

blockednumber プロバイダーとアプリケーションの間のコントラクト。

(継承元 JavaObject)
JniPeerMembers

blockednumber プロバイダーとアプリケーションの間のコントラクト。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

blockednumber プロバイダーとアプリケーションの間のコントラクト。

ThresholdType

blockednumber プロバイダーとアプリケーションの間のコントラクト。

メソッド

名前 説明
CanCurrentUserBlockNumbers(Context)

現在のユーザーに対してブロック番号がサポートされているかどうかを確認します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

blockednumber プロバイダーとアプリケーションの間のコントラクト。

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

blockednumber プロバイダーとアプリケーションの間のコントラクト。

(継承元 JavaObject)
Equals(Object)

blockednumber プロバイダーとアプリケーションの間のコントラクト。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
IsBlocked(Context, String)

指定した数値がブロック リストに含まれているかどうかを返します。

JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

blockednumber プロバイダーとアプリケーションの間のコントラクト。

(継承元 JavaObject)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
Unblock(Context, String)

ブロックされている場合は、 phoneNumber のブロックを解除します。

UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

blockednumber プロバイダーとアプリケーションの間のコントラクト。

(継承元 JavaObject)
IJavaPeerable.Finalized()

blockednumber プロバイダーとアプリケーションの間のコントラクト。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

blockednumber プロバイダーとアプリケーションの間のコントラクト。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

blockednumber プロバイダーとアプリケーションの間のコントラクト。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

blockednumber プロバイダーとアプリケーションの間のコントラクト。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

blockednumber プロバイダーとアプリケーションの間のコントラクト。

(継承元 JavaObject)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

blockednumber プロバイダーとアプリケーションの間のコントラクト。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象