public
final
class
PhoneAccount
extends Object
implements
Parcelable
java.lang.Object | |
↳ | android.telecom.PhoneAccount |
Represents a distinct method to place or receive a phone call. Apps which can place calls and
want those calls to be integrated into the dialer and in-call UI should build an instance of
this class and register it with the system using TelecomManager
.
TelecomManager
uses registered PhoneAccount
s to present the user with
alternative options when placing a phone call. When building a PhoneAccount
, the app
should supply a valid PhoneAccountHandle
that references the connection service
implementation Telecom will use to interact with the app.
Nested classes | |
---|---|
class |
PhoneAccount.Builder
Helper class for creating a |
Constants | |
---|---|
int |
CAPABILITY_CALL_PROVIDER
Flag indicating that this |
int |
CAPABILITY_CALL_SUBJECT
Flag indicating that this |
int |
CAPABILITY_CONNECTION_MANAGER
Flag indicating that this |
int |
CAPABILITY_PLACE_EMERGENCY_CALLS
Flag indicating that this |
int |
CAPABILITY_SIM_SUBSCRIPTION
Flag indicating that this |
int |
CAPABILITY_VIDEO_CALLING
Flag indicating that this |
int |
CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE
Flag indicating that for this |
String |
EXTRA_CALL_SUBJECT_CHARACTER_ENCODING
|
String |
EXTRA_CALL_SUBJECT_MAX_LENGTH
|
int |
NO_HIGHLIGHT_COLOR
Indicating no hightlight color is set. |
int |
NO_RESOURCE_ID
Indicating no resource ID is set. |
String |
SCHEME_SIP
URI scheme for SIP URIs. |
String |
SCHEME_TEL
URI scheme for telephone number URIs. |
String |
SCHEME_VOICEMAIL
URI scheme for voicemail URIs. |
Inherited constants |
---|
From
interface
android.os.Parcelable
|
Fields | |
---|---|
public
static
final
Creator<PhoneAccount> |
CREATOR
|
Public methods | |
---|---|
static
PhoneAccount.Builder
|
builder(PhoneAccountHandle accountHandle, CharSequence label)
|
int
|
describeContents()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
PhoneAccountHandle
|
getAccountHandle()
The unique identifier of this |
Uri
|
getAddress()
The address (e.g., a phone number) associated with this |
int
|
getCapabilities()
The capabilities of this |
Bundle
|
getExtras()
The extras associated with this |
int
|
getHighlightColor()
A highlight color to use in displaying information about this |
Icon
|
getIcon()
The icon to represent this |
CharSequence
|
getLabel()
A short label describing a |
CharSequence
|
getShortDescription()
A short paragraph describing this |
Uri
|
getSubscriptionAddress()
The raw callback number used for this |
List<String>
|
getSupportedUriSchemes()
The URI schemes supported by this |
boolean
|
hasCapabilities(int capability)
Determines if this |
boolean
|
isEnabled()
Indicates whether the user has enabled this |
boolean
|
supportsUriScheme(String uriScheme)
Determines if the |
PhoneAccount.Builder
|
toBuilder()
Returns a builder initialized with the current |
String
|
toString()
Returns a string representation of the object. |
void
|
writeToParcel(Parcel out, int flags)
Flatten this object in to a Parcel. |
Inherited methods | |
---|---|
From
class
java.lang.Object
| |
From
interface
android.os.Parcelable
|
int CAPABILITY_CALL_PROVIDER
Flag indicating that this PhoneAccount
can make phone calls in place of
traditional SIM-based telephony calls. This account will be treated as a distinct method
for placing calls alongside the traditional SIM-based telephony stack. This flag is
distinct from CAPABILITY_CONNECTION_MANAGER
in that it is not allowed to manage
or place calls from the built-in telephony stack.
Constant Value: 2 (0x00000002)
int CAPABILITY_CALL_SUBJECT
Flag indicating that this PhoneAccount
supports a subject for Calls. This means a
caller is able to specify a short subject line for an outgoing call. A capable receiving
device displays the call subject on the incoming call screen.
Constant Value: 64 (0x00000040)
int CAPABILITY_CONNECTION_MANAGER
Flag indicating that this PhoneAccount
can act as a connection manager for
other connections. The ConnectionService
associated with this PhoneAccount
will be allowed to manage phone calls including using its own proprietary phone-call
implementation (like VoIP calling) to make calls instead of the telephony stack.
When a user opts to place a call using the SIM-based telephony stack, the
ConnectionService
associated with this PhoneAccount
will be attempted first
if the user has explicitly selected it to be used as the default connection manager.
Constant Value: 1 (0x00000001)
int CAPABILITY_PLACE_EMERGENCY_CALLS
Flag indicating that this PhoneAccount
is capable of placing emergency calls.
By default all PSTN PhoneAccount
s are capable of placing emergency calls.
Constant Value: 16 (0x00000010)
int CAPABILITY_SIM_SUBSCRIPTION
Flag indicating that this PhoneAccount
represents a built-in PSTN SIM
subscription.
Only the Android framework can register a PhoneAccount
having this capability.
Constant Value: 4 (0x00000004)
int CAPABILITY_VIDEO_CALLING
Flag indicating that this PhoneAccount
is capable of placing video calls.
Constant Value: 8 (0x00000008)
int CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE
Flag indicating that for this PhoneAccount
, the ability to make a video call to a
number relies on presence. Should only be set if the PhoneAccount
also has
CAPABILITY_VIDEO_CALLING
.
When set, the ConnectionService
is responsible for toggling the
CARRIER_PRESENCE_VT_CAPABLE
bit on the
CARRIER_PRESENCE
column to indicate whether
a contact's phone number supports video calling.
Constant Value: 256 (0x00000100)
String EXTRA_CALL_SUBJECT_CHARACTER_ENCODING
PhoneAccount
extras key (see getExtras()
) which determines the
character encoding to be used when determining the length of messages.
The user interface can use this when determining the number of characters the user may type
in a call subject. If empty-string, the call subject message size limit will be enforced on
a 1:1 basis. That is, each character will count towards the messages size limit as a single
character. If a character encoding is specified, the message size limit will be based on the
number of bytes in the message per the specified encoding. See
EXTRA_CALL_SUBJECT_MAX_LENGTH
for more information on the call subject maximum
length.
Constant Value: "android.telecom.extra.CALL_SUBJECT_CHARACTER_ENCODING"
String EXTRA_CALL_SUBJECT_MAX_LENGTH
PhoneAccount
extras key (see getExtras()
) which determines the
maximum permitted length of a call subject specified via the
EXTRA_CALL_SUBJECT
extra on an
ACTION_CALL
intent. Ultimately a ConnectionService
is
responsible for enforcing the maximum call subject length when sending the message, however
this extra is provided so that the user interface can proactively limit the length of the
call subject as the user types it.
Constant Value: "android.telecom.extra.CALL_SUBJECT_MAX_LENGTH"
int NO_HIGHLIGHT_COLOR
Indicating no hightlight color is set.
Constant Value: 0 (0x00000000)
int NO_RESOURCE_ID
Indicating no resource ID is set.
Constant Value: -1 (0xffffffff)
String SCHEME_TEL
URI scheme for telephone number URIs.
Constant Value: "tel"
String SCHEME_VOICEMAIL
URI scheme for voicemail URIs.
Constant Value: "voicemail"
PhoneAccount.Builder builder (PhoneAccountHandle accountHandle, CharSequence label)
Parameters | |
---|---|
accountHandle |
PhoneAccountHandle
|
label |
CharSequence
|
Returns | |
---|---|
PhoneAccount.Builder |
int describeContents ()
Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation. For example, if the object will
include a file descriptor in the output of writeToParcel(Parcel, int)
,
the return value of this method must include the
CONTENTS_FILE_DESCRIPTOR
bit.
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. |
PhoneAccountHandle getAccountHandle ()
The unique identifier of this PhoneAccount
.
Returns | |
---|---|
PhoneAccountHandle |
A PhoneAccountHandle .
|
Uri getAddress ()
The address (e.g., a phone number) associated with this PhoneAccount
. This
represents the destination from which outgoing calls using this PhoneAccount
will appear to come, if applicable, and the destination to which incoming calls using this
PhoneAccount
may be addressed.
Returns | |
---|---|
Uri |
A address expressed as a Uri , for example, a phone number.
|
int getCapabilities ()
The capabilities of this PhoneAccount
.
Returns | |
---|---|
int |
A bit field of flags describing this PhoneAccount 's capabilities.
|
Bundle getExtras ()
The extras associated with this PhoneAccount
.
A ConnectionService
may provide implementation specific information about the
PhoneAccount
via the extras.
Returns | |
---|---|
Bundle |
The extras. |
int getHighlightColor ()
A highlight color to use in displaying information about this PhoneAccount
.
Returns | |
---|---|
int |
A hexadecimal color value. |
Icon getIcon ()
The icon to represent this PhoneAccount
.
Returns | |
---|---|
Icon |
The icon. |
CharSequence getLabel ()
A short label describing a PhoneAccount
.
Returns | |
---|---|
CharSequence |
A label for this PhoneAccount .
|
CharSequence getShortDescription ()
A short paragraph describing this PhoneAccount
.
Returns | |
---|---|
CharSequence |
A description for this PhoneAccount .
|
Uri getSubscriptionAddress ()
The raw callback number used for this PhoneAccount
, as distinct from
getAddress()
. For the majority of PhoneAccount
s this should be registered
as null
. It is used by the system for SIM-based PhoneAccount
registration
where setLine1NumberForDisplay(String, String)
has been used to alter the callback number.
Returns | |
---|---|
Uri |
The subscription number, suitable for display to the user. |
List<String> getSupportedUriSchemes ()
The URI schemes supported by this PhoneAccount
.
Returns | |
---|---|
List<String> |
The URI schemes. |
boolean hasCapabilities (int capability)
Determines if this PhoneAccount
has a capabilities specified by the passed in
bit mask.
Parameters | |
---|---|
capability |
int :
The capabilities to check. |
Returns | |
---|---|
boolean |
true if the phone account has the capability.
|
boolean isEnabled ()
Indicates whether the user has enabled this PhoneAccount
or not. This value is only
populated for PhoneAccount
s returned by getPhoneAccount(PhoneAccountHandle)
.
Returns | |
---|---|
boolean |
true if the account is enabled by the user, false otherwise.
|
boolean supportsUriScheme (String uriScheme)
Determines if the PhoneAccount
supports calls to/from addresses with a specified URI
scheme.
Parameters | |
---|---|
uriScheme |
String :
The URI scheme to check. |
Returns | |
---|---|
boolean |
true if the PhoneAccount supports calls to/from addresses with the
specified URI scheme.
|
PhoneAccount.Builder toBuilder ()
Returns a builder initialized with the current PhoneAccount
instance.
Returns | |
---|---|
PhoneAccount.Builder |
The builder. |
String toString ()
Returns a string representation of the object. In general, the
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
void writeToParcel (Parcel out, int flags)
Flatten this object in to a Parcel.
Parameters | |
---|---|
out |
Parcel :
The Parcel in which the object should be written. |
flags |
int :
Additional flags about how the object should be written.
May be 0 or PARCELABLE_WRITE_RETURN_VALUE .
|