frameworks/base/core/java/android/app/ContextImpl.java
public void sendBroadcast(Intent intent) {
String resolvedType = intent.resolveTypeIfNeeded(getContentResolver());
try {
intent.setAllowFds(false);
ActivityManagerNative.getDefault().broadcastIntent(
mMainThread.getApplicationThread(), intent, resolvedType, null,
Activity.RESULT_OK, null, null, null, false, false);
} catch (RemoteException e) {
}
}
frameworks/base/services/java/com/android/server/am/ActivityManagerService.java
11935 public final int broadcastIntent(IApplicationThread caller,
11936 Intent intent, String resolvedType, IIntentReceiver resultTo,
11937 int resultCode, String resultData, Bundle map,
11938 String requiredPermission, boolean serialized, boolean sticky) {
11939 synchronized(this) {
11940 intent = verifyBroadcastLocked(intent);
11941
11942 final ProcessRecord callerApp = getRecordForAppLocked(caller);
11943 final int callingPid = Binder.getCallingPid();
11944 final int callingUid = Binder.getCallingUid();
11945 final long origId = Binder.clearCallingIdentity();
11946 int res = broadcastIntentLocked(callerApp,
11947 callerApp != null ? callerApp.info.packageName : null,
11948 intent, resolvedType, resultTo,
11949 resultCode, resultData, map, requiredPermission, serialized,
11950 sticky, callingPid, callingUid);
11951 Binder.restoreCallingIdentity(origId);
11952 return res;
11953 }
11954 }