Most visited

Recently visited

Added in API level 23

InCallService

public abstract class InCallService
extends Service

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.app.Service
         ↳ android.telecom.InCallService


此服务由任何希望提供用于管理电话呼叫的用户界面的应用程序实现。 电信在存在实时(主动或呼入)呼叫的同时绑定到此服务,并使用它来通知应召应用程序当前和最近断开的呼叫。 一个应用程序必须首先被设置为默认电话应用(见getDefaultDialerPackage()电信服务之前)将绑定到其InCallService实施。

以下是InCallService的示例清单注册。 元数据( METADATA_IN_CALL_SERVICE_UI )表示这个特定的InCallService实现意图替代内置的通话用户界面。

 <service android:name="your.package.YourInCallServiceImplementation"
          android:permission="android.permission.BIND_INCALL_SERVICE">
      <meta-data android:name="android.telecom.IN_CALL_SERVICE_UI" android:value="true" />
      <intent-filter>
          <action android:name="android.telecom.InCallService"/>
      </intent-filter>
 </service>
 
 

Summary

Nested classes

class InCallService.VideoCall

用于向与Connection.VideoProvider关联的Call发出命令。

Constants

String SERVICE_INTERFACE

必须声明为由服务处理的 Intent

Inherited constants

From class android.app.Service
From class android.content.Context
From interface android.content.ComponentCallbacks2

Public constructors

InCallService()

Public methods

final boolean canAddCall()

返回设备是否可以支持其他呼叫。

final CallAudioState getCallAudioState()

获取当前的电话音频状态。

final List<Call> getCalls()

获取当前的电话列表 Call将由此通话服务显示。

IBinder onBind(Intent intent)

将通信信道返回给服务。

void onBringToForeground(boolean showDialpad)

呼叫将通话屏幕放到前台。

void onCallAdded(Call call)

Call已被添加到此通话中时调用。

void onCallAudioStateChanged(CallAudioState audioState)

当音频状态改变时调用。

void onCallRemoved(Call call)

当此通话会话中 Call已被删除时调用。

void onCanAddCallChanged(boolean canAddCall)

当添加更多呼叫的能力发生变化时调用。

void onSilenceRinger()

如果存在振铃呼叫,则呼叫以使振铃器静音。

boolean onUnbind(Intent intent)

当所有客户端与服务发布的特定接口断开连接时调用。

final void setAudioRoute(int route)

设置音频路线(扬声器,蓝牙等)。

final void setMuted(boolean state)

设置麦克风静音状态。

Inherited methods

From class android.app.Service
From class android.content.ContextWrapper
From class android.content.Context
From class java.lang.Object
From interface android.content.ComponentCallbacks2
From interface android.content.ComponentCallbacks

Constants

SERVICE_INTERFACE

Added in API level 23
String SERVICE_INTERFACE

必须声明为由服务处理的 Intent

常量值:“android.telecom.InCallService”

Public constructors

InCallService

Added in API level 23
InCallService ()

Public methods

canAddCall

Added in API level 23
boolean canAddCall ()

返回设备是否可以支持其他呼叫。

Returns
boolean Whether the phone supports adding more calls.

getCallAudioState

Added in API level 23
CallAudioState getCallAudioState ()

获取当前的电话音频状态。

Returns
CallAudioState An object encapsulating the audio state. Returns null if the service is not fully initialized.

getCalls

Added in API level 23
List<Call> getCalls ()

获取当前的 Call列表 Call

Returns
List<Call> A list of the relevant Calls.

onBind

Added in API level 23
IBinder onBind (Intent intent)

将通信信道返回给服务。 如果客户端无法绑定到服务,可能会返回null。 返回IBinder通常是一个复杂的界面已经described using aidl

请注意,与其他应用程序组件不同,此处返回的IBinder接口调用可能不会发生在进程的主线程上 有关主线程的更多信息可以在Processes and Threads中找到。

Parameters
intent Intent: The Intent that was used to bind to this service, as given to Context.bindService. Note that any extras that were included with the Intent at that point will not be seen here.
Returns
IBinder Return an IBinder through which clients can call on to the service.

onBringToForeground

Added in API level 23
void onBringToForeground (boolean showDialpad)

呼叫将通话屏幕放到前台。 通话中的体验应该立即作出响应,通过前台通知用户正在进行的状态Call

Parameters
showDialpad boolean: If true, put up the dialpad when the screen is shown.

onCallAdded

Added in API level 23
void onCallAdded (Call call)

Call已被添加到此通话中时调用。 通话中的用户体验应将必要的状态监听器添加到指定的Call并立即开始向用户显示此Call的存在和性质的Call 随后的调用getCalls()将包括此Call

Parameters
call Call: A newly added Call.

onCallAudioStateChanged

Added in API level 23
void onCallAudioStateChanged (CallAudioState audioState)

当音频状态改变时调用。

Parameters
audioState CallAudioState: The new CallAudioState.

onCallRemoved

Added in API level 23
void onCallRemoved (Call call)

Call已从此通话中删除时调用。 通话中的用户体验应该从指定的Call删除任何状态监听者,并立即停止显示关于此Call任何信息。 后续调用getCalls()将不再包含此Call

Parameters
call Call: A newly removed Call.

onCanAddCallChanged

Added in API level 23
void onCanAddCallChanged (boolean canAddCall)

当添加更多呼叫的能力发生变化时调用。 如果电话不能支持更多的呼叫,则canAddCall设置为false 如果可以,那么它被设置为true 这可以用来控制UI的可见性以添加更多的呼叫。

Parameters
canAddCall boolean: Indicates whether an additional call can be added.

onSilenceRinger

Added in API level 24
void onSilenceRinger ()

如果存在振铃呼叫,则呼叫以使振铃器静音。

onUnbind

Added in API level 23
boolean onUnbind (Intent intent)

当所有客户端与服务发布的特定接口断开连接时调用。 默认实现什么也不做,并返回false。

Parameters
intent Intent: The Intent that was used to bind to this service, as given to Context.bindService. Note that any extras that were included with the Intent at that point will not be seen here.
Returns
boolean Return true if you would like to have the service's onRebind(Intent) method later called when new clients bind to it.

setAudioRoute

Added in API level 23
void setAudioRoute (int route)

设置音频路线(扬声器,蓝牙等)。 当这个请求得到履行时,将会改变为getCallAudioState()

Parameters
route int: The audio route to use.

setMuted

Added in API level 23
void setMuted (boolean state)

设置麦克风静音状态。 当这个请求得到履行时,将会改变为getCallAudioState()

Parameters
state boolean: true if the microphone should be muted; false otherwise.

Hooray!