CallScreeningService 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
此服务可由默认拨号程序(见 TelecomManager#getDefaultDialerPackage()
)或第三方应用实现,以便在向用户显示传入呼叫之前允许或禁止传入呼叫。
[Android.Runtime.Register("android/telecom/CallScreeningService", ApiSince=24, DoNotGenerateAcw=true)]
public abstract class CallScreeningService : Android.App.Service
[<Android.Runtime.Register("android/telecom/CallScreeningService", ApiSince=24, DoNotGenerateAcw=true)>]
type CallScreeningService = class
inherit Service
- 继承
- 属性
注解
此服务可由默认拨号程序(见 TelecomManager#getDefaultDialerPackage()
)或第三方应用实现,以便在向用户显示传入呼叫之前允许或禁止传入呼叫。 还可以 CallScreeningService
查看传出呼叫,以便为这些呼叫提供呼叫方 ID 服务。
下面是一个示例清单注册。CallScreeningService
{@code
<service android:name="your.package.YourCallScreeningServiceImplementation"
android:permission="android.permission.BIND_SCREENING_SERVICE">
<intent-filter>
<action android:name="android.telecom.CallScreeningService"/>
</intent-filter>
</service>
}
CallScreeningService 执行两个功能: <ol><li>呼叫阻止/筛选 - 服务可以选择将在用户的设备上拨打哪些呼叫,并将以无提示方式发送到语音邮件。</li><li>呼叫识别 - 提供呼叫识别功能的服务可以显示其选择的用户界面,其中包含呼叫的标识信息。 </li></ol>
<h2>成为 CallScreeningService</h2> Telecom 将绑定到用户选择的单个应用,该应用在有新的传入和传出调用时实现 CallScreeningService
API。
下面的代码片段演示了你的应用如何请求它填充呼叫屏蔽角色。
{@code
private static final int REQUEST_ID = 1;
public void requestRole() {
RoleManager roleManager = (RoleManager) getSystemService(ROLE_SERVICE);
Intent intent = roleManager.createRequestRoleIntent(RoleManager.ROLE_CALL_SCREENING);
startActivityForResult(intent, REQUEST_ID);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_ID) {
if (resultCode == android.app.Activity.RESULT_OK) {
// Your app is now the call screening app
} else {
// Your app is not the call screening app
}
}
}
}
<h2>CallScreeningService 生命周期</h2>
框架绑定到 CallScreeningService
用户选择的应用在收到传入呼叫(在响铃之前)和传出呼叫发出时填充 android.app.role.RoleManager#ROLE_CALL_SCREENING
角色的实现。 平台调用该方法 #onScreenCall(Call.Details)
,以提供有关调用的详细信息的服务。
对于传入呼叫, CallScreeningService
必须在绑定后的 5 秒内调用 #respondToCall(Call.Details, CallResponse)
,以指示是否应阻止呼叫。 你的应用必须执行此操作,即使它主要执行呼叫方 ID 操作,而不是筛选呼叫。 请务必及时执行筛选操作,因为用户设备在收到响应之前不会开始响铃(或达到超时)。 可以选择 CallScreeningService
执行本地数据库查找,以帮助确定是否应筛选呼叫;应注意确保不会重复命中超时,从而导致传入呼叫流出现延迟。
如果你的应用提供来电显示体验,它应启动一个活动以显示来自 #onScreenCall(Call.Details)
的来电显示信息。
适用于 . 的 android.telecom.CallScreeningService
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
CallScreeningService() |
此服务可由默认拨号程序(见 |
CallScreeningService(IntPtr, JniHandleOwnership) |
此服务可由默认拨号程序(见 |
字段
AccessibilityService |
|
AccountService |
|
ActivityService |
|
AlarmService |
|
AppOpsService |
用于 |
AppSearchService |
|
AppwidgetService |
|
AudioService |
用于 |
BatteryService |
|
BindAllowActivityStarts |
已过时.
|
BindExternalServiceLong |
的工作方式与 |
BindNotPerceptible |
已过时.
|
BindSharedIsolatedProcess |
已过时.
标志: |
BiometricService |
|
BlobStoreService |
|
BluetoothService |
|
BugreportService |
用于捕获 bug 报告的服务。 (继承自 Context) |
CameraService |
|
CaptioningService |
用于 |
CarrierConfigService |
用于 |
ClipboardService |
|
CompanionDeviceService |
|
ConnectivityDiagnosticsService |
用于 |
ConnectivityService |
用于 |
ConsumerIrService |
用于 |
CredentialService |
|
CrossProfileAppsService |
用于 |
DeviceIdDefault |
默认设备 ID,即主设备(非虚拟)设备的 ID。 (继承自 Context) |
DeviceIdInvalid |
设备 ID 无效。 (继承自 Context) |
DeviceLockService |
|
DevicePolicyService |
|
DisplayHashService |
|
DisplayService |
|
DomainVerificationService |
|
DownloadService |
与 |
DropboxService |
|
EuiccService |
|
FileIntegrityService |
|
FingerprintService |
用于 |
GameService |
|
GrammaticalInflectionService |
|
HardwarePropertiesService |
用于 |
HealthconnectService |
|
InputMethodService |
用于 |
InputService |
|
IpsecService |
|
JobSchedulerService |
|
KeyguardService |
|
LauncherAppsService |
用于 |
LayoutInflaterService |
用于 |
LocaleService |
|
LocationService |
与 |
MediaCommunicationService |
|
MediaMetricsService |
用于 |
MediaProjectionService |
用于 |
MediaRouterService |
|
MediaSessionService |
用于 |
MidiService |
用于 |
NetworkStatsService |
用于 |
NfcService |
|
NotificationService |
与 |
NsdService |
用于 |
OverlayService |
|
PeopleService |
|
PerformanceHintService |
|
PowerService |
|
PrintService |
|
ReceiverExported |
已过时.
|
ReceiverNotExported |
已过时.
|
ReceiverVisibleToInstantApps |
已过时.
标志: |
RestrictionsService |
用于 |
RoleService |
用于 |
SearchService |
|
SensorService |
|
ServiceInterface |
必须 |
ShortcutService |
|
StatusBarService |
|
StopForegroundDetach |
已过时.
选择器: |
StopForegroundLegacy |
选择器: |
StopForegroundRemove |
已过时.
选择器: |
StorageService |
用于 |
StorageStatsService |
|
SystemHealthService |
|
TelecomService |
|
TelephonyImsService |
|
TelephonyService |
用于 |
TelephonySubscriptionService |
用于 |
TextClassificationService |
|
TextServicesManagerService |
用于 |
TvInputService |
|
TvInteractiveAppService |
|
UiModeService |
用于 |
UsageStatsService |
|
UsbService |
用于 |
UserService |
用于 |
VibratorManagerService |
用于 |
VibratorService |
用于 |
VirtualDeviceService |
用于 |
VpnManagementService |
|
WallpaperService |
用于 |
WifiAwareService |
用于 |
WifiP2pService |
用于 |
WifiRttRangingService |
与 |
WifiService |
用于 |
WindowService |
|
属性
Application |
返回拥有此服务的应用程序。 (继承自 Service) |
ApplicationContext |
返回当前进程的单个全局 Application 对象的上下文。 (继承自 ContextWrapper) |
ApplicationInfo |
返回此上下文包的完整应用程序信息。 (继承自 ContextWrapper) |
Assets |
返回应用程序的包的 AssetManager 实例。 (继承自 ContextWrapper) |
AttributionSource |
此服务可由默认拨号程序(见 |
AttributionTag |
属性可用于复杂应用中,以逻辑方式分隔应用的各个部分。 (继承自 Context) |
BaseContext | (继承自 ContextWrapper) |
CacheDir |
返回文件系统上特定于应用程序的缓存目录的绝对路径。 (继承自 ContextWrapper) |
Class |
返回此 |
ClassLoader |
返回可用于检索此包中的类的类加载程序。 (继承自 ContextWrapper) |
CodeCacheDir |
返回文件系统上用于存储缓存代码的应用程序特定缓存目录的绝对路径。 (继承自 ContextWrapper) |
ContentResolver |
返回应用程序的包的 ContentResolver 实例。 (继承自 ContextWrapper) |
DataDir |
此服务可由默认拨号程序(见 |
DeviceId |
获取与此上下文关联的设备 ID。 (继承自 Context) |
Display |
获取与此上下文关联的显示。 (继承自 Context) |
ExternalCacheDir |
返回主外部文件系统上目录的绝对路径(位于应用程序可以放置其拥有的缓存文件的某个位置 ExternalStorageDirectory )。 (继承自 ContextWrapper) |
FilesDir |
返回存储使用 OpenFileOutput(String, FileCreationMode) 文件创建的文件系统上的目录的绝对路径。 (继承自 ContextWrapper) |
ForegroundServiceType |
如果服务已通过调用成为前台服务 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
IsDeviceProtectedStorage |
此服务可由默认拨号程序(见 |
IsRestricted |
指示此上下文是否受到限制。 (继承自 Context) |
IsUiContext |
如果 |
JniIdentityHashCode |
此服务可由默认拨号程序(见 |
JniPeerMembers |
此服务可由默认拨号程序(见 |
MainExecutor |
|
MainLooper |
返回当前进程的主线程的 Looper。 (继承自 ContextWrapper) |
NoBackupFilesDir |
返回文件系统上目录的绝对路径,类似于 FilesDir. (继承自 ContextWrapper) |
ObbDir |
返回可在其中找到此应用程序的 OBB 文件(如果有)的主外部存储目录。 (继承自 ContextWrapper) |
OpPackageName |
返回应该用于 |
PackageCodePath |
返回此上下文的主要 Android 包的完整路径。 (继承自 ContextWrapper) |
PackageManager |
返回 PackageManager 实例以查找全局包信息。 (继承自 ContextWrapper) |
PackageName |
返回此应用程序的包的名称。 (继承自 ContextWrapper) |
PackageResourcePath |
返回此上下文的主要 Android 包的完整路径。 (继承自 ContextWrapper) |
Params |
返回创建此上下文时所使用的参数集(如果通过该 |
PeerReference |
此服务可由默认拨号程序(见 |
Resources |
返回应用程序的包的资源实例。 (继承自 ContextWrapper) |
Theme |
返回与此上下文关联的 Theme 对象。 (继承自 ContextWrapper) |
ThresholdClass |
此服务可由默认拨号程序(见 |
ThresholdType |
此服务可由默认拨号程序(见 |
Wallpaper | (继承自 ContextWrapper) |
WallpaperDesiredMinimumHeight | (继承自 ContextWrapper) |
WallpaperDesiredMinimumWidth | (继承自 ContextWrapper) |
方法
显式接口实现
IJavaPeerable.Disposed() |
此服务可由默认拨号程序(见 |
IJavaPeerable.DisposeUnlessReferenced() |
此服务可由默认拨号程序(见 |
IJavaPeerable.Finalized() |
此服务可由默认拨号程序(见 |
IJavaPeerable.JniManagedPeerState |
此服务可由默认拨号程序(见 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
此服务可由默认拨号程序(见 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此服务可由默认拨号程序(见 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
此服务可由默认拨号程序(见 |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
此服务可由默认拨号程序(见 |
GetJniTypeName(IJavaPeerable) |
此服务可由默认拨号程序(见 |