Most visited

Recently visited

Added in API level 23

CarrierService

public abstract class CarrierService
extends Service

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.app.Service
         ↳ android.service.carrier.CarrierService


将运营商特定功能展示给系统的服务。

要扩展这个类,你必须声明你的清单文件,要求服务BIND_CARRIER_SERVICES许可,包括与意图过滤器CARRIER_SERVICE_INTERFACE 如果服务应该有一个长期的绑定,请在服务的元数据中将android.service.carrier.LONG_LIVED_BINDING设置为true。 例如:

<service android:name=".MyCarrierService"
       android:label="@string/service_name"
       android:permission="android.permission.BIND_CARRIER_SERVICES">
  <intent-filter>
      <action android:name="android.service.carrier.CarrierService" />
  </intent-filter>
  <meta-data android:name="android.service.carrier.LONG_LIVED_BINDING"
             android:value="true" />
 </service>
 

Summary

Constants

String CARRIER_SERVICE_INTERFACE

Inherited constants

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

Public constructors

CarrierService()

Public methods

final void notifyCarrierNetworkChange(boolean active)

通过运营商应用程序通知系统有意即将到来的运营商网络更改。

IBinder onBind(Intent intent)

如果重写此方法,请通过超级方法调用任何未知操作。

abstract PersistableBundle onLoadConfig(CarrierIdentifier id)

重写此方法以设置载体配置。

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

CARRIER_SERVICE_INTERFACE

Added in API level 23
String CARRIER_SERVICE_INTERFACE

常量值:“android.service.carrier.CarrierService”

Public constructors

CarrierService

Added in API level 23
CarrierService ()

Public methods

notifyCarrierNetworkChange

Added in API level 23
void notifyCarrierNetworkChange (boolean active)

通过运营商应用程序通知系统有意即将到来的运营商网络更改。 此呼叫是可选的,仅用于允许系统在电话执行可能导致故意临时网络缺乏连接性的操作时提供备用UI。

基于传入的活动参数,此方法将显示或隐藏替代用户界面。 显示此用户体验没有任何超时,因此运营商应用程序必须确保在将其设置为true后的某个时间使用活动设置为false。

需要许可: MODIFY_PHONE_STATE或者调用应用程序具有运营商权限。

Parameters
active boolean: Whether the carrier network change is or shortly will be active. Set this value to true to begin showing alternative UI and false to stop.

也可以看看:

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.

onLoadConfig

Added in API level 23
PersistableBundle onLoadConfig (CarrierIdentifier id)

重写此方法以设置载体配置。

电话服务将调用此方法以获取运营商特定的配置值。 系统将保存返回的配置,

  1. The carrier app package is updated, or
  2. The carrier app requests a reload with notifyConfigChangedForSubId.
This method can be called after a SIM card loads, which may be before or after boot.

这种方法不应该阻塞很长一段时间。 如果需要昂贵的操作(例如网络访问),则此方法可以安排工作并返回null。 然后,使用notifyConfigChangedForSubId在配置准备就绪时触发重新加载。

实现应该使用CarrierConfigManager定义的密钥。 系统的默认配置服务可能会覆盖返回的PersistableBundle未设置的任何配置值。

Parameters
id CarrierIdentifier: contains details about the current carrier that can be used do decide what configuration values to return.
Returns
PersistableBundle a PersistableBundle object containing the configuration or null if default values should be used.

Hooray!