IActivityManager.java revision 2d91af06082d10759793a79d17afdfbdc65a37ed
1/* 2 * Copyright (C) 2006 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.app; 18 19import android.content.ComponentName; 20import android.content.ContentProviderNative; 21import android.content.IContentProvider; 22import android.content.Intent; 23import android.content.IntentFilter; 24import android.content.IIntentSender; 25import android.content.IIntentReceiver; 26import android.content.pm.ApplicationInfo; 27import android.content.pm.ConfigurationInfo; 28import android.content.pm.IPackageDataObserver; 29import android.content.pm.ProviderInfo; 30import android.content.res.Configuration; 31import android.graphics.Bitmap; 32import android.net.Uri; 33import android.os.RemoteException; 34import android.os.IBinder; 35import android.os.IInterface; 36import android.os.Parcel; 37import android.os.Parcelable; 38import android.os.ParcelFileDescriptor; 39import android.os.Bundle; 40 41import java.util.List; 42 43/** 44 * System private API for talking with the activity manager service. This 45 * provides calls from the application back to the activity manager. 46 * 47 * {@hide} 48 */ 49public interface IActivityManager extends IInterface { 50 /** 51 * Returned by startActivity() if the start request was canceled because 52 * app switches are temporarily canceled to ensure the user's last request 53 * (such as pressing home) is performed. 54 */ 55 public static final int START_SWITCHES_CANCELED = 4; 56 /** 57 * Returned by startActivity() if an activity wasn't really started, but 58 * the given Intent was given to the existing top activity. 59 */ 60 public static final int START_DELIVERED_TO_TOP = 3; 61 /** 62 * Returned by startActivity() if an activity wasn't really started, but 63 * a task was simply brought to the foreground. 64 */ 65 public static final int START_TASK_TO_FRONT = 2; 66 /** 67 * Returned by startActivity() if the caller asked that the Intent not 68 * be executed if it is the recipient, and that is indeed the case. 69 */ 70 public static final int START_RETURN_INTENT_TO_CALLER = 1; 71 /** 72 * Activity was started successfully as normal. 73 */ 74 public static final int START_SUCCESS = 0; 75 public static final int START_INTENT_NOT_RESOLVED = -1; 76 public static final int START_CLASS_NOT_FOUND = -2; 77 public static final int START_FORWARD_AND_REQUEST_CONFLICT = -3; 78 public static final int START_PERMISSION_DENIED = -4; 79 public int startActivity(IApplicationThread caller, 80 Intent intent, String resolvedType, Uri[] grantedUriPermissions, 81 int grantedMode, IBinder resultTo, String resultWho, int requestCode, 82 boolean onlyIfNeeded, boolean debug) throws RemoteException; 83 public boolean startNextMatchingActivity(IBinder callingActivity, 84 Intent intent) throws RemoteException; 85 public boolean finishActivity(IBinder token, int code, Intent data) 86 throws RemoteException; 87 public void finishSubActivity(IBinder token, String resultWho, int requestCode) throws RemoteException; 88 public Intent registerReceiver(IApplicationThread caller, 89 IIntentReceiver receiver, IntentFilter filter, 90 String requiredPermission) throws RemoteException; 91 public void unregisterReceiver(IIntentReceiver receiver) throws RemoteException; 92 public static final int BROADCAST_SUCCESS = 0; 93 public static final int BROADCAST_STICKY_CANT_HAVE_PERMISSION = -1; 94 public int broadcastIntent(IApplicationThread caller, Intent intent, 95 String resolvedType, IIntentReceiver resultTo, int resultCode, 96 String resultData, Bundle map, String requiredPermission, 97 boolean serialized, boolean sticky) throws RemoteException; 98 public void unbroadcastIntent(IApplicationThread caller, Intent intent) throws RemoteException; 99 /* oneway */ 100 public void finishReceiver(IBinder who, int resultCode, String resultData, Bundle map, boolean abortBroadcast) throws RemoteException; 101 public void setPersistent(IBinder token, boolean isPersistent) throws RemoteException; 102 public void attachApplication(IApplicationThread app) throws RemoteException; 103 /* oneway */ 104 public void activityIdle(IBinder token) throws RemoteException; 105 public void activityPaused(IBinder token, Bundle state) throws RemoteException; 106 /* oneway */ 107 public void activityStopped(IBinder token, 108 Bitmap thumbnail, CharSequence description) throws RemoteException; 109 /* oneway */ 110 public void activityDestroyed(IBinder token) throws RemoteException; 111 public String getCallingPackage(IBinder token) throws RemoteException; 112 public ComponentName getCallingActivity(IBinder token) throws RemoteException; 113 public List getTasks(int maxNum, int flags, 114 IThumbnailReceiver receiver) throws RemoteException; 115 public List<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, 116 int flags) throws RemoteException; 117 public List getServices(int maxNum, int flags) throws RemoteException; 118 public List<ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState() 119 throws RemoteException; 120 public void moveTaskToFront(int task) throws RemoteException; 121 public void moveTaskToBack(int task) throws RemoteException; 122 public boolean moveActivityTaskToBack(IBinder token, boolean nonRoot) throws RemoteException; 123 public void moveTaskBackwards(int task) throws RemoteException; 124 public int getTaskForActivity(IBinder token, boolean onlyRoot) throws RemoteException; 125 public void finishOtherInstances(IBinder token, ComponentName className) throws RemoteException; 126 /* oneway */ 127 public void reportThumbnail(IBinder token, 128 Bitmap thumbnail, CharSequence description) throws RemoteException; 129 public ContentProviderHolder getContentProvider(IApplicationThread caller, 130 String name) throws RemoteException; 131 public void removeContentProvider(IApplicationThread caller, 132 String name) throws RemoteException; 133 public void publishContentProviders(IApplicationThread caller, 134 List<ContentProviderHolder> providers) throws RemoteException; 135 public ComponentName startService(IApplicationThread caller, Intent service, 136 String resolvedType) throws RemoteException; 137 public int stopService(IApplicationThread caller, Intent service, 138 String resolvedType) throws RemoteException; 139 public boolean stopServiceToken(ComponentName className, IBinder token, 140 int startId) throws RemoteException; 141 public void setServiceForeground(ComponentName className, IBinder token, 142 boolean isForeground) throws RemoteException; 143 public int bindService(IApplicationThread caller, IBinder token, 144 Intent service, String resolvedType, 145 IServiceConnection connection, int flags) throws RemoteException; 146 public boolean unbindService(IServiceConnection connection) throws RemoteException; 147 public void publishService(IBinder token, 148 Intent intent, IBinder service) throws RemoteException; 149 public void unbindFinished(IBinder token, Intent service, 150 boolean doRebind) throws RemoteException; 151 /* oneway */ 152 public void serviceDoneExecuting(IBinder token) throws RemoteException; 153 public IBinder peekService(Intent service, String resolvedType) throws RemoteException; 154 155 public boolean bindBackupAgent(ApplicationInfo appInfo, int backupRestoreMode) 156 throws RemoteException; 157 public void backupAgentCreated(String packageName, IBinder agent) throws RemoteException; 158 public void unbindBackupAgent(ApplicationInfo appInfo) throws RemoteException; 159 160 public boolean startInstrumentation(ComponentName className, String profileFile, 161 int flags, Bundle arguments, IInstrumentationWatcher watcher) 162 throws RemoteException; 163 public void finishInstrumentation(IApplicationThread target, 164 int resultCode, Bundle results) throws RemoteException; 165 166 public Configuration getConfiguration() throws RemoteException; 167 public void updateConfiguration(Configuration values) throws RemoteException; 168 public void setRequestedOrientation(IBinder token, 169 int requestedOrientation) throws RemoteException; 170 public int getRequestedOrientation(IBinder token) throws RemoteException; 171 172 public ComponentName getActivityClassForToken(IBinder token) throws RemoteException; 173 public String getPackageForToken(IBinder token) throws RemoteException; 174 175 public static final int INTENT_SENDER_BROADCAST = 1; 176 public static final int INTENT_SENDER_ACTIVITY = 2; 177 public static final int INTENT_SENDER_ACTIVITY_RESULT = 3; 178 public static final int INTENT_SENDER_SERVICE = 4; 179 public IIntentSender getIntentSender(int type, 180 String packageName, IBinder token, String resultWho, 181 int requestCode, Intent intent, String resolvedType, int flags) throws RemoteException; 182 public void cancelIntentSender(IIntentSender sender) throws RemoteException; 183 public boolean clearApplicationUserData(final String packageName, 184 final IPackageDataObserver observer) throws RemoteException; 185 public String getPackageForIntentSender(IIntentSender sender) throws RemoteException; 186 187 public void setProcessLimit(int max) throws RemoteException; 188 public int getProcessLimit() throws RemoteException; 189 190 public void setProcessForeground(IBinder token, int pid, boolean isForeground) throws RemoteException; 191 192 public int checkPermission(String permission, int pid, int uid) 193 throws RemoteException; 194 195 public int checkUriPermission(Uri uri, int pid, int uid, int mode) 196 throws RemoteException; 197 public void grantUriPermission(IApplicationThread caller, String targetPkg, 198 Uri uri, int mode) throws RemoteException; 199 public void revokeUriPermission(IApplicationThread caller, Uri uri, 200 int mode) throws RemoteException; 201 202 public void showWaitingForDebugger(IApplicationThread who, boolean waiting) 203 throws RemoteException; 204 205 public void getMemoryInfo(ActivityManager.MemoryInfo outInfo) throws RemoteException; 206 207 public void restartPackage(final String packageName) throws RemoteException; 208 209 // Note: probably don't want to allow applications access to these. 210 public void goingToSleep() throws RemoteException; 211 public void wakingUp() throws RemoteException; 212 213 public void unhandledBack() throws RemoteException; 214 public ParcelFileDescriptor openContentUri(Uri uri) throws RemoteException; 215 public void setDebugApp( 216 String packageName, boolean waitForDebugger, boolean persistent) 217 throws RemoteException; 218 public void setAlwaysFinish(boolean enabled) throws RemoteException; 219 public void setActivityController(IActivityController watcher) 220 throws RemoteException; 221 222 public void enterSafeMode() throws RemoteException; 223 224 public void noteWakeupAlarm(IIntentSender sender) throws RemoteException; 225 226 public boolean killPidsForMemory(int[] pids) throws RemoteException; 227 228 public void reportPss(IApplicationThread caller, int pss) throws RemoteException; 229 230 // Special low-level communication with activity manager. 231 public void startRunning(String pkg, String cls, String action, 232 String data) throws RemoteException; 233 public void systemReady() throws RemoteException; 234 // Returns 1 if the user wants to debug. 235 public int handleApplicationError(IBinder app, 236 int flags, /* 1 == can debug */ 237 String tag, String shortMsg, String longMsg, 238 byte[] crashData) throws RemoteException; 239 240 /* 241 * This will deliver the specified signal to all the persistent processes. Currently only 242 * SIGUSR1 is delivered. All others are ignored. 243 */ 244 public void signalPersistentProcesses(int signal) throws RemoteException; 245 // Retrieve running application processes in the system 246 public List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses() 247 throws RemoteException; 248 // Get device configuration 249 public ConfigurationInfo getDeviceConfigurationInfo() throws RemoteException; 250 251 // Turn on/off profiling in a particular process. 252 public boolean profileControl(String process, boolean start, 253 String path, ParcelFileDescriptor fd) throws RemoteException; 254 255 public boolean shutdown(int timeout) throws RemoteException; 256 257 public void stopAppSwitches() throws RemoteException; 258 public void resumeAppSwitches() throws RemoteException; 259 260 public void registerActivityWatcher(IActivityWatcher watcher) 261 throws RemoteException; 262 public void unregisterActivityWatcher(IActivityWatcher watcher) 263 throws RemoteException; 264 265 public int startActivityInPackage(int uid, 266 Intent intent, String resolvedType, IBinder resultTo, 267 String resultWho, int requestCode, boolean onlyIfNeeded) 268 throws RemoteException; 269 270 /* 271 * Private non-Binder interfaces 272 */ 273 /* package */ boolean testIsSystemReady(); 274 275 /** Information you can retrieve about a particular application. */ 276 public static class ContentProviderHolder implements Parcelable { 277 public final ProviderInfo info; 278 public final String permissionFailure; 279 public IContentProvider provider; 280 public boolean noReleaseNeeded; 281 282 public ContentProviderHolder(ProviderInfo _info) { 283 info = _info; 284 permissionFailure = null; 285 } 286 287 public ContentProviderHolder(ProviderInfo _info, 288 String _permissionFailure) { 289 info = _info; 290 permissionFailure = _permissionFailure; 291 } 292 293 public int describeContents() { 294 return 0; 295 } 296 297 public void writeToParcel(Parcel dest, int flags) { 298 info.writeToParcel(dest, 0); 299 dest.writeString(permissionFailure); 300 if (provider != null) { 301 dest.writeStrongBinder(provider.asBinder()); 302 } else { 303 dest.writeStrongBinder(null); 304 } 305 dest.writeInt(noReleaseNeeded ? 1:0); 306 } 307 308 public static final Parcelable.Creator<ContentProviderHolder> CREATOR 309 = new Parcelable.Creator<ContentProviderHolder>() { 310 public ContentProviderHolder createFromParcel(Parcel source) { 311 return new ContentProviderHolder(source); 312 } 313 314 public ContentProviderHolder[] newArray(int size) { 315 return new ContentProviderHolder[size]; 316 } 317 }; 318 319 private ContentProviderHolder(Parcel source) { 320 info = ProviderInfo.CREATOR.createFromParcel(source); 321 permissionFailure = source.readString(); 322 provider = ContentProviderNative.asInterface( 323 source.readStrongBinder()); 324 noReleaseNeeded = source.readInt() != 0; 325 } 326 }; 327 328 String descriptor = "android.app.IActivityManager"; 329 330 // Please keep these transaction codes the same -- they are also 331 // sent by C++ code. 332 int START_RUNNING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION; 333 int HANDLE_APPLICATION_ERROR_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+1; 334 int START_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+2; 335 int UNHANDLED_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+3; 336 int OPEN_CONTENT_URI_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+4; 337 338 // Remaining non-native transaction codes. 339 int FINISH_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+10; 340 int REGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+11; 341 int UNREGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+12; 342 int BROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+13; 343 int UNBROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+14; 344 int FINISH_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+15; 345 int ATTACH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+16; 346 int ACTIVITY_IDLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+17; 347 int ACTIVITY_PAUSED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+18; 348 int ACTIVITY_STOPPED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+19; 349 int GET_CALLING_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+20; 350 int GET_CALLING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+21; 351 int GET_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+22; 352 int MOVE_TASK_TO_FRONT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+23; 353 int MOVE_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+24; 354 int MOVE_TASK_BACKWARDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+25; 355 int GET_TASK_FOR_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+26; 356 int REPORT_THUMBNAIL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+27; 357 int GET_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+28; 358 int PUBLISH_CONTENT_PROVIDERS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+29; 359 int SET_PERSISTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+30; 360 int FINISH_SUB_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+31; 361 int SYSTEM_READY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+32; 362 int START_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+33; 363 int STOP_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+34; 364 int BIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+35; 365 int UNBIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+36; 366 int PUBLISH_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+37; 367 int FINISH_OTHER_INSTANCES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+38; 368 int GOING_TO_SLEEP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+39; 369 int WAKING_UP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+40; 370 int SET_DEBUG_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+41; 371 int SET_ALWAYS_FINISH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+42; 372 int START_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+43; 373 int FINISH_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+44; 374 int GET_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+45; 375 int UPDATE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+46; 376 int STOP_SERVICE_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+47; 377 int GET_ACTIVITY_CLASS_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+48; 378 int GET_PACKAGE_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+49; 379 int SET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+50; 380 int GET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+51; 381 int CHECK_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+52; 382 int CHECK_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+53; 383 int GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+54; 384 int REVOKE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+55; 385 int SET_ACTIVITY_CONTROLLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+56; 386 int SHOW_WAITING_FOR_DEBUGGER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+57; 387 int SIGNAL_PERSISTENT_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+58; 388 int GET_RECENT_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+59; 389 int SERVICE_DONE_EXECUTING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+60; 390 int ACTIVITY_DESTROYED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+61; 391 int GET_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+62; 392 int CANCEL_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+63; 393 int GET_PACKAGE_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+64; 394 int ENTER_SAFE_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+65; 395 int START_NEXT_MATCHING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+66; 396 int NOTE_WAKEUP_ALARM_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+67; 397 int REMOVE_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+68; 398 int SET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+69; 399 int GET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+70; 400 int UNBIND_FINISHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+71; 401 int SET_PROCESS_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+72; 402 int SET_SERVICE_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+73; 403 int MOVE_ACTIVITY_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+74; 404 int GET_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+75; 405 int GET_PROCESSES_IN_ERROR_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+76; 406 int CLEAR_APP_DATA_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+77; 407 int RESTART_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+78; 408 int KILL_PIDS_FOR_MEMORY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+79; 409 int GET_SERVICES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+80; 410 int REPORT_PSS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+81; 411 int GET_RUNNING_APP_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+82; 412 int GET_DEVICE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+83; 413 int PEEK_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+84; 414 int PROFILE_CONTROL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+85; 415 int SHUTDOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+86; 416 int STOP_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+87; 417 int RESUME_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+88; 418 int START_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+89; 419 int BACKUP_AGENT_CREATED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+90; 420 int UNBIND_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+91; 421 int REGISTER_ACTIVITY_WATCHER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+92; 422 int UNREGISTER_ACTIVITY_WATCHER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+93; 423 int START_ACTIVITY_IN_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+94; 424} 425