From 82c8688d8593eff1314a653fcc06359e1189f6af Mon Sep 17 00:00:00 2001 From: Danesh M Date: Tue, 6 Aug 2013 14:56:17 -0700 Subject: BroadcastReceiver : Get sender of broadcasts Add internal api for receiving the sender of a broadcast Change-Id: I28ae614ef92101ab6b9beadc3c965d16b1f393f6 --- core/java/android/content/BroadcastReceiver.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'core/java/android/content') diff --git a/core/java/android/content/BroadcastReceiver.java b/core/java/android/content/BroadcastReceiver.java index 2260d7e..bf0c48d 100644 --- a/core/java/android/content/BroadcastReceiver.java +++ b/core/java/android/content/BroadcastReceiver.java @@ -16,6 +16,7 @@ package android.content; +import android.app.ActivityManager; import android.app.ActivityManagerNative; import android.app.ActivityThread; import android.app.IActivityManager; @@ -747,6 +748,17 @@ public abstract class BroadcastReceiver { return mPendingResult.mSendingUser; } + /** @hide */ + public String getSendingPackage(Intent intent) { + final IActivityManager mgr = ActivityManagerNative.getDefault(); + try { + boolean fg = (intent.getFlags() & Intent.FLAG_RECEIVER_FOREGROUND) != 0; + return mgr.getCallingPackageForBroadcast(fg); + } catch (RemoteException ex) { + return null; + } + } + /** * Control inclusion of debugging help for mismatched * calls to {@link Context#registerReceiver(BroadcastReceiver, IntentFilter) -- cgit v1.1