我的应用程序有问题。我正在创建一种临时菜单栏,它必须包含在我的应用程序的所有活动中,我想确定当前加载了哪个活动,以便应用程序通过意图链接到链接到按钮的活动:
public void graphAction()
{
Intent i = new Intent(this, GraphActivity.class );
this.startActivity(i);
}
我的应用程序有问题。我正在创建一种临时菜单栏,它必须包含在我的应用程序的所有活动中,我想确定当前加载了哪个活动,以便应用程序通过意图链接到链接到按钮的活动:
public void graphAction()
{
Intent i = new Intent(this, GraphActivity.class );
this.startActivity(i);
}
尝试下面的函数来获取顶级活动名称。
private String getTopActivityName() {
ActivityManager am = (ActivityManager)getApplicationContext().getSystemService(
ACTIVITY_SERVICE);
// get the info from the currently running task
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
return componentInfo.getShortClassName();
}
您可能要考虑使用 ActionbarSherlock (http://actionbarsherlock.com/) 但我不明白您为什么想要当前活动的活动?如果 graphAction 不在活动中而是在一些自定义对象中,只需将活动传递到那里(或者更好:使用上下文对象,活动不应该被传递)