here is the situation:
Problems: As far as I've searched there is no way to retrieve the current activity in the foreground.
Extra info: This needs to be able to be handled in multiple activities. So, it can be popped-up in Activity-A or B or C.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With