BlockedNumberContract 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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 > 資料 < /h3>
除了一般電話號碼以外,封鎖的號碼提供者也可以儲存位址 (,例如使用者可接收訊息的電子郵件) ,以及通話。 封鎖的數位會儲存在資料行中 BlockedNumbers#COLUMN_ORIGINAL_NUMBER
。 正規化版本的電話號碼 (如果可能正規化,) 儲存在資料行中 BlockedNumbers#COLUMN_E164_NUMBER
。 如果位址存在於資料行中,或如果位址的 BlockedNumbers#COLUMN_ORIGINAL_NUMBER
E164 版本符合 BlockedNumbers#COLUMN_E164_NUMBER
資料行,則平臺會封鎖來自位址的呼叫和訊息。
<h3 > 作業 < /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>
不支援匯報。 請改用 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
。 平臺會封鎖來自提供者中號碼的呼叫,且訊息與目前使用者無關。
的 android.provider.BlockedNumberContract
JAVA 檔。
此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。
建構函式
BlockedNumberContract(IntPtr, JniHandleOwnership) |
blockednumber 提供者與應用程式之間的合約。 |
欄位
Authority |
封鎖號碼提供者的授權單位 |
屬性
AuthorityUri |
封鎖號碼提供者授權單位的 content:// 樣式 URI |
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() |
讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 >< (繼承來源 Object) |
Wait(Int64) |
讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <> (繼承來源 Object) |
Wait(Int64, Int32) |
讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <> (繼承來源 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 提供者與應用程式之間的合約。 |