public abstract class DConnectMessageService extends android.app.Service implements DConnectProfileProvider
Device Connectリクエストメッセージを受信し、Device Connectレスポンスメッセージを送信するサービスである。
DConnectMessageServiceProvider
から呼び出されるサービスとし、UIレイヤーから明示的な呼び出しは行わない。
修飾子とタイプ | クラスと説明 |
---|---|
class |
DConnectMessageService.LocalBinder
Service をバインドするためのクラス.
|
START_CONTINUATION_MASK, START_FLAG_REDELIVERY, START_FLAG_RETRY, START_NOT_STICKY, START_REDELIVER_INTENT, START_STICKY, START_STICKY_COMPATIBILITY, STOP_FOREGROUND_DETACH, STOP_FOREGROUND_REMOVE
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_SERVICE, APP_OPS_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BATTERY_SERVICE, BIND_ABOVE_CLIENT, BIND_ADJUST_WITH_ACTIVITY, BIND_ALLOW_OOM_MANAGEMENT, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_IMPORTANT, BIND_INCLUDE_CAPABILITIES, BIND_NOT_FOREGROUND, BIND_NOT_PERCEPTIBLE, BIND_WAIVE_PRIORITY, BIOMETRIC_SERVICE, BLUETOOTH_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, COMPANION_DEVICE_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, CROSS_PROFILE_APPS_SERVICE, DEVICE_POLICY_SERVICE, DISPLAY_SERVICE, DOWNLOAD_SERVICE, DROPBOX_SERVICE, EUICC_SERVICE, FINGERPRINT_SERVICE, HARDWARE_PROPERTIES_SERVICE, INPUT_METHOD_SERVICE, INPUT_SERVICE, IPSEC_SERVICE, JOB_SCHEDULER_SERVICE, KEYGUARD_SERVICE, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_SERVICE, LOCATION_SERVICE, MEDIA_PROJECTION_SERVICE, MEDIA_ROUTER_SERVICE, MEDIA_SESSION_SERVICE, MIDI_SERVICE, MODE_APPEND, MODE_ENABLE_WRITE_AHEAD_LOGGING, MODE_MULTI_PROCESS, MODE_NO_LOCALIZED_COLLATORS, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NETWORK_STATS_SERVICE, NFC_SERVICE, NOTIFICATION_SERVICE, NSD_SERVICE, POWER_SERVICE, PRINT_SERVICE, RECEIVER_VISIBLE_TO_INSTANT_APPS, RESTRICTIONS_SERVICE, ROLE_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, SHORTCUT_SERVICE, STORAGE_SERVICE, STORAGE_STATS_SERVICE, SYSTEM_HEALTH_SERVICE, TELECOM_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TEXT_CLASSIFICATION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TV_INPUT_SERVICE, UI_MODE_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_SERVICE, WALLPAPER_SERVICE, WIFI_AWARE_SERVICE, WIFI_P2P_SERVICE, WIFI_RTT_RANGING_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
コンストラクタと説明 |
---|
DConnectMessageService() |
修飾子とタイプ | メソッドと説明 |
---|---|
void |
addProfile(DConnectProfile profile)
プロファイルを追加する.
|
DevicePluginContext |
createPluginContext()
プラグインコンテキストを作成します.
|
protected javax.net.ssl.SSLContext |
createSSLContext(java.security.KeyStore keyStore,
java.lang.String password)
SSLContext のインスタンスを作成します.
|
protected java.lang.String |
getCertificateAlias()
証明書で使用するエイリアス名を取得します.
|
protected EventCacheController |
getEventCacheController()
EventCacheControllerのインスタンスを返す.
|
protected java.lang.String |
getKeyStoreFileName()
証明書で使用するキーストアのファイル名を取得します.
|
DevicePluginContext |
getPluginContext()
プラグインコンテキストを取得します.
|
DConnectProfile |
getProfile(java.lang.String name)
プロファイルマップを取得する.
|
java.util.List<DConnectProfile> |
getProfileList()
プロファイルリストを取得する.
|
DConnectServiceProvider |
getServiceProvider()
サービスを管理するクラスを取得する.
|
protected abstract SystemProfile |
getSystemProfile()
SystemProfileを取得する.
|
boolean |
isEnabled()
Device Connect Manager側で本プラグインが有効になっているかどうかを取得する.
|
boolean |
isUseLocalOAuth()
Local OAuth使用フラグを取得する.
|
android.os.IBinder |
onBind(android.content.Intent intent) |
void |
onCreate() |
void |
onDestroy() |
protected void |
onDevicePluginDisabled()
Device Connect Managerからプラグイン無効通知を受信した時に呼ばれる処理部.
|
protected void |
onDevicePluginEnabled()
Device Connect Managerからプラグイン有効通知を受信した時に呼ばれる処理部.
|
protected void |
onDevicePluginReset()
Device Plug-inへのReset要求を受信した時に呼ばれる処理部.
|
protected void |
onKeyStoreUpdated(java.security.KeyStore keyStore,
java.security.cert.Certificate cert,
java.security.cert.Certificate rootCert)
キーストアが更新された場合に呼び出されます.
|
protected void |
onKeyStoreUpdateError(KeyStoreError error)
キーストアの更新に失敗した場合に呼び出されます.
|
protected void |
onManagerEventTransmitDisconnected(java.lang.String origin)
Device Connect ManagerのEvent送信経路切断通知を受信した時に呼ばれる処理部.
|
protected void |
onManagerLaunched()
Device Connect Managerの起動通知を受信した時に呼ばれる処理部.
|
protected void |
onManagerTerminated()
Device Connect Managerの正常終了通知を受信した時に呼ばれる処理部.
|
protected void |
onManagerUninstalled()
Device Connect Managerがアンインストールされた時に呼ばれる処理部.
|
int |
onStartCommand(android.content.Intent intent,
int flags,
int startId) |
void |
removeProfile(DConnectProfile profile)
プロファイルを削除する.
|
protected void |
requestKeyStore(java.lang.String ipAddress,
KeyStoreCallback callback)
キーストア作成要求を行います.
|
boolean |
sendEvent(Event event,
android.os.Bundle bundle)
Device Connectにイベントを送信する.
|
boolean |
sendEvent(android.content.Intent event,
java.lang.String accessToken)
Device Connectにイベントを送信する.
|
boolean |
sendResponse(android.content.Intent response)
Device Connect Managerにレスポンスを返却するためのメソッド.
|
protected void |
setUseLocalOAuth(boolean use)
Local OAuth使用フラグを設定する.
|
protected boolean |
usesAutoCertificateRequest()
証明書を使用するか確認します.
|
dump, getApplication, getForegroundServiceType, onConfigurationChanged, onLowMemory, onRebind, onStart, onTaskRemoved, onTrimMemory, onUnbind, startForeground, startForeground, stopForeground, stopForeground, stopSelf, stopSelf, stopSelfResult
attachBaseContext, bindIsolatedService, bindService, bindService, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingPermission, checkCallingUriPermission, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, clearWallpaper, createConfigurationContext, createContextForSplit, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAssets, getBaseContext, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDatabasePath, getDataDir, getDir, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getMainExecutor, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getOpPackageName, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getResources, getSharedPreferences, getSystemService, getSystemServiceName, getTheme, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setTheme, setWallpaper, setWallpaper, startActivities, startActivities, startActivity, startActivity, startForegroundService, startInstrumentation, startIntentSender, startIntentSender, startService, stopService, unbindService, unregisterReceiver, updateServiceGroup
public android.os.IBinder onBind(android.content.Intent intent)
onBind
クラス内 android.app.Service
public void onCreate()
onCreate
クラス内 android.app.Service
public void onDestroy()
onDestroy
クラス内 android.app.Service
public int onStartCommand(android.content.Intent intent, int flags, int startId)
onStartCommand
クラス内 android.app.Service
public DevicePluginContext createPluginContext()
オーバーライドされなければ、DefaultPluginContext
を作成します。
public DevicePluginContext getPluginContext()
protected EventCacheController getEventCacheController()
デフォルトではMemoryCacheControllerを使用する.
変更したい場合は本メソッドをオーバーライドすること.
protected abstract SystemProfile getSystemProfile()
SystemProfileは必須実装となるため、本メソッドでSystemProfileのインスタンスを渡すこと。
このメソッドで返却したSystemProfileは自動で登録される。
protected boolean usesAutoCertificateRequest()
使用する場合には、このメソッドをオーバーライドして、trueを返却します。
protected java.lang.String getKeyStoreFileName()
デフォルトでは、keystore.p12 を使用します。
キーストアのファイル名を変更したい場合には、このメソッドをオーバーライドします。
protected java.lang.String getCertificateAlias()
デフォルトでは、パッケージ名を返却します。
エイリアス名を変更したい場合には、このメソッドをオーバーライドします。
protected javax.net.ssl.SSLContext createSSLContext(java.security.KeyStore keyStore, java.lang.String password) throws java.security.GeneralSecurityException
プラグイン内で Web サーバを立ち上げて、Managerと同じ証明書を使いたい場合にはこのSSLContext を使用します。
keyStore
- キーストアpassword
- パスワードjava.security.GeneralSecurityException
- SSLContextの作成に失敗した場合に発生protected void requestKeyStore(java.lang.String ipAddress, KeyStoreCallback callback)
ipAddress
- IPアドレスcallback
- 結果通知用コールバックpublic final DConnectServiceProvider getServiceProvider()
public final boolean sendResponse(android.content.Intent response)
response
- レスポンスpublic final boolean sendEvent(android.content.Intent event, java.lang.String accessToken)
event
- イベントパラメータaccessToken
- 送り先のアクセストークンpublic final boolean sendEvent(Event event, android.os.Bundle bundle)
event
- イベントパラメータbundle
- パラメータprotected void setUseLocalOAuth(boolean use)
このフラグをfalseに設定することで、LocalOAuthの機能をOFFにすることができる。
デフォルトでは、trueになっているので、LocalOAuthが有効になっている。
use
- フラグpublic boolean isUseLocalOAuth()
public boolean isEnabled()
true
, そうでない場合はfalse
public java.util.List<DConnectProfile> getProfileList()
DConnectProfileProvider
getProfileList
インタフェース内 DConnectProfileProvider
public DConnectProfile getProfile(java.lang.String name)
DConnectProfileProvider
getProfile
インタフェース内 DConnectProfileProvider
name
- プロファイル名public void addProfile(DConnectProfile profile)
DConnectProfileProvider
addProfile
インタフェース内 DConnectProfileProvider
profile
- プロファイルpublic void removeProfile(DConnectProfile profile)
DConnectProfileProvider
removeProfile
インタフェース内 DConnectProfileProvider
profile
- プロファイルprotected void onManagerUninstalled()
Device Connect Managerがアンインストールされた場合に処理を行いたい場合には、 このメソッドをオーバーライドして実装を行うこと。
protected void onManagerLaunched()
Device Connect Managerが起動された場合に処理を行い場合には、このメソッドをオーバーライドして実装を行うこと。
protected void onManagerTerminated()
Device Connect Managerが終了された場合に処理を行い場合には、このメソッドをオーバーライドして実装を行うこと。
protected void onManagerEventTransmitDisconnected(java.lang.String origin)
Device Connect ManagerでWebSocketなどが切断され、イベント停止要求が送られてきた場合には、 このメソッドをオーバーライドして、イベントの停止処理や後始末の処理を行うこと。
origin
- イベント停止が要求されたオリジンprotected void onDevicePluginReset()
Device Connect Managerからデバイスプラグインのリセット要求が送られてきた場合には、 このメソッドをオーバーライドして、再起動処理を行うこと。
protected void onDevicePluginEnabled()
protected void onDevicePluginDisabled()
protected void onKeyStoreUpdated(java.security.KeyStore keyStore, java.security.cert.Certificate cert, java.security.cert.Certificate rootCert)
キーストアが更新された場合に処理を行いたい場合には、このメソッドをオーバーライドします。
keyStore
- キーストアcert
- 証明書rootCert
- ルート証明書protected void onKeyStoreUpdateError(KeyStoreError error)
キーストアの更新に失敗した場合に処理を行いたい場合には、このメソッドをオーバーライドします。
error
- エラー