public class SampleTrustAgent extends TrustAgentService implements SharedPreferences.OnSharedPreferenceChangeListener
TrustAgentService.GrantTrustFlags
Service.StartArgFlags, Service.StartResult, Service.StopForegroundFlags
Context.BindServiceFlags, Context.CreatePackageOptions, Context.ServiceName
FLAG_GRANT_TRUST_DISMISS_KEYGUARD, FLAG_GRANT_TRUST_INITIATED_BY_USER, SERVICE_INTERFACE, TRUST_AGENT_META_DATA
START_CONTINUATION_MASK, START_FLAG_REDELIVERY, START_FLAG_RETRY, START_NOT_STICKY, START_REDELIVER_INTENT, START_STICKY, START_STICKY_COMPATIBILITY, START_TASK_REMOVED_COMPLETE, STOP_FOREGROUND_DETACH, STOP_FOREGROUND_REMOVE
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_SERVICE, APP_OPS_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BACKUP_SERVICE, BATTERY_SERVICE, BIND_ABOVE_CLIENT, BIND_ADJUST_WITH_ACTIVITY, BIND_ALLOW_OOM_MANAGEMENT, BIND_ALLOW_WHITELIST_MANAGEMENT, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_FOREGROUND_SERVICE, BIND_FOREGROUND_SERVICE_WHILE_AWAKE, BIND_IMPORTANT, BIND_NOT_FOREGROUND, BIND_NOT_VISIBLE, BIND_SHOWING_UI, BIND_TREAT_LIKE_ACTIVITY, BIND_VISIBLE, BIND_WAIVE_PRIORITY, BLUETOOTH_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTEXT_CREDENTIAL_PROTECTED_STORAGE, CONTEXT_DEVICE_PROTECTED_STORAGE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_REGISTER_PACKAGE, CONTEXT_RESTRICTED, CONTEXTHUB_SERVICE, COUNTRY_DETECTOR, DEVICE_IDLE_CONTROLLER, DEVICE_POLICY_SERVICE, DISPLAY_SERVICE, DOWNLOAD_SERVICE, DROPBOX_SERVICE, ETHERNET_SERVICE, FINGERPRINT_SERVICE, GATEKEEPER_SERVICE, HARDWARE_PROPERTIES_SERVICE, HDMI_CONTROL_SERVICE, INPUT_METHOD_SERVICE, INPUT_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_POLICY_SERVICE, NETWORK_SCORE_SERVICE, NETWORK_STATS_SERVICE, NETWORKMANAGEMENT_SERVICE, NFC_SERVICE, NOTIFICATION_SERVICE, NSD_SERVICE, PERSISTENT_DATA_BLOCK_SERVICE, POWER_SERVICE, PRINT_SERVICE, RADIO_SERVICE, RECOVERY_SERVICE, RESTRICTIONS_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, SERIAL_SERVICE, SHORTCUT_SERVICE, SIP_SERVICE, SOUND_TRIGGER_SERVICE, STATUS_BAR_SERVICE, STORAGE_SERVICE, SYSTEM_HEALTH_SERVICE, TELECOM_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TRUST_SERVICE, TV_INPUT_SERVICE, UI_MODE_SERVICE, UPDATE_LOCK_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_SERVICE, VOICE_INTERACTION_MANAGER_SERVICE, WALLPAPER_SERVICE, WIFI_NAN_SERVICE, WIFI_P2P_SERVICE, WIFI_RTT_SERVICE, WIFI_SCANNING_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
TRIM_MEMORY_BACKGROUND, TRIM_MEMORY_COMPLETE, TRIM_MEMORY_MODERATE, TRIM_MEMORY_RUNNING_CRITICAL, TRIM_MEMORY_RUNNING_LOW, TRIM_MEMORY_RUNNING_MODERATE, TRIM_MEMORY_UI_HIDDEN
Constructor and Description |
---|
SampleTrustAgent() |
Modifier and Type | Method and Description |
---|---|
static boolean |
getIsManagingTrust(Context context) |
static boolean |
getReportDeviceLocked(Context context) |
static boolean |
getReportUnlockAttempts(Context context) |
boolean |
onConfigure(List<PersistableBundle> options)
Called when device policy admin wants to enable specific options for agent in response to
DevicePolicyManager.setKeyguardDisabledFeatures(ComponentName, int) and
DevicePolicyManager.setTrustAgentConfiguration(ComponentName, ComponentName,
PersistableBundle) . |
void |
onCreate()
Called by the system when the service is first created.
|
void |
onDestroy()
Called by the system to notify a Service that it is no longer used and is being removed.
|
void |
onDeviceLocked()
Called when the device enters a state where a PIN, pattern or
password must be entered to unlock it.
|
void |
onDeviceUnlocked()
Called when the device leaves a state where a PIN, pattern or
password must be entered to unlock it.
|
void |
onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key)
Called when a shared preference is changed, added, or removed.
|
void |
onTrustTimeout()
Called when the timeout provided by the agent expires.
|
void |
onUnlockAttempt(boolean successful)
Called after the user attempts to authenticate in keyguard with their device credentials,
such as pin, pattern or password.
|
static void |
sendGrantTrust(Context context,
String message,
long durationMs,
boolean initiatedByUser) |
static void |
sendRevokeTrust(Context context) |
static void |
setIsManagingTrust(Context context,
boolean enabled) |
static void |
setReportDeviceLocked(Context context,
boolean enabled) |
static void |
setReportUnlockAttempts(Context context,
boolean enabled) |
grantTrust, grantTrust, onBind, revokeTrust, setManagingTrust
attach, dump, getApplication, onConfigurationChanged, onLowMemory, onRebind, onStart, onStartCommand, onTaskRemoved, onTrimMemory, onUnbind, setForeground, startForeground, stopForeground, stopForeground, stopSelf, stopSelf, stopSelfResult
attachBaseContext, bindService, bindServiceAsUser, canStartActivityForResult, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingPermission, checkCallingUriPermission, checkPermission, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, checkUriPermission, clearWallpaper, createApplicationContext, createConfigurationContext, createCredentialProtectedStorageContext, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, createPackageContextAsUser, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAssets, getBaseContext, getBasePackageName, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDatabasePath, getDataDir, getDir, getDisplay, getDisplayAdjustments, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getOpPackageName, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getResources, getSharedPreferences, getSharedPreferences, getSharedPreferencesPath, getSystemService, getSystemServiceName, getTheme, getThemeResId, getUserId, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isCredentialProtectedStorage, isDeviceProtectedStorage, isRestricted, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, registerReceiverAsUser, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendBroadcastAsUser, sendBroadcastMultiplePermissions, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendOrderedBroadcastAsUser, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setTheme, setWallpaper, setWallpaper, startActivities, startActivities, startActivitiesAsUser, startActivity, startActivity, startActivityAsUser, startActivityAsUser, startActivityForResult, startInstrumentation, startIntentSender, startIntentSender, startService, startServiceAsUser, stopService, stopServiceAsUser, unbindService, unregisterReceiver
bindServiceAsUser, createCredentialEncryptedStorageContext, createDeviceEncryptedStorageContext, getColor, getColorStateList, getDrawable, getSharedPrefsFile, getString, getString, getSystemService, getText, isCredentialEncryptedStorage, isDeviceEncryptedStorage, migrateDatabaseFrom, migrateSharedPreferencesFrom, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, registerComponentCallbacks, unregisterComponentCallbacks
public void onCreate()
Service
onCreate
in class TrustAgentService
public void onTrustTimeout()
TrustAgentService
DevicePolicyManager
. The agent is expected to re-evaluate the trust state and only
call TrustAgentService.grantTrust(CharSequence, long, boolean)
if the trust state should be
continued.onTrustTimeout
in class TrustAgentService
public void onDeviceLocked()
TrustAgentService
onDeviceLocked
in class TrustAgentService
public void onDeviceUnlocked()
TrustAgentService
onDeviceUnlocked
in class TrustAgentService
public void onUnlockAttempt(boolean successful)
TrustAgentService
onUnlockAttempt
in class TrustAgentService
successful
- true if the user successfully completed the challenge.public boolean onConfigure(List<PersistableBundle> options)
TrustAgentService
DevicePolicyManager.setKeyguardDisabledFeatures(ComponentName, int)
and
DevicePolicyManager.setTrustAgentConfiguration(ComponentName, ComponentName,
PersistableBundle)
.
Agents that support configuration options should overload this method and return 'true'.
onConfigure
in class TrustAgentService
options
- The aggregated list of options or an empty list if no restrictions apply.TrustAgentService
supports configuration options.public void onDestroy()
Service
public static void sendGrantTrust(Context context, String message, long durationMs, boolean initiatedByUser)
public static void sendRevokeTrust(Context context)
public static void setReportUnlockAttempts(Context context, boolean enabled)
public static boolean getReportUnlockAttempts(Context context)
public static void setReportDeviceLocked(Context context, boolean enabled)
public static boolean getReportDeviceLocked(Context context)
public static void setIsManagingTrust(Context context, boolean enabled)
public static boolean getIsManagingTrust(Context context)
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key)
SharedPreferences.OnSharedPreferenceChangeListener
This callback will be run on your main thread.
onSharedPreferenceChanged
in interface SharedPreferences.OnSharedPreferenceChangeListener
sharedPreferences
- The SharedPreferences
that received
the change.key
- The key of the preference that was changed, added, or
removed.