Android - Dynamically Get the Current Activity in Foreground
Plan A: taking your request literally
Step #1: Have the thread be managed by a service
Step #2: have the service send a message when the "even is triggered" -- LocalBroadcastManager
, Square's Otto, greenrobot's EventBus, etc.
Step #3: Have each activity be set up to listen for that message when it is in the foreground
Step #4: Have the activity display the dialog upon receipt of the message
Plan B: same visual result
Step #1: Have the thread be managed by a service
Step #2: Have the service call startActivity()
on a dialog-themed activity
Step #3: There is no step #3
I'm not sure if this is what you're looking for, but it seemed pretty straightforward. http://iamvijayakumar.blogspot.com/2011/09/get-current-activity-and-package-name.html
ActivityManager am = (ActivityManager) this .getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
Log.d(WebServiceHelper.TAG, "CURRENT Activity ::" + taskInfo.get(0).topActivity.getClassName()+" Package Name : "+componentInfo.getPackageName());
Hope this helps.