对于每个具有逻辑父级的活动,我们在Manifest中定义父Activity,如下所示:
<activity
android:name=".ui.activity.MyActivity"
android:label="@string/activity_title"
android:parentActivityName=".ui.activity.ParentActivity"
android:theme="@style/My.Theme" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".ui.activity.ParentActivity" />
</activity>
有没有办法访问MyActivity中@parentActivityName
或meta-data@value
中引用的类?
(请注意,我不想访问父Activity实例,只需要访问Class)
原因是出于跟踪目的,我们希望为每个Activity生成类似路径的字符串。在这种情况下,这个字符串将是/parent_activity/my_activity
- 并且由于层次结构已经在清单中定义,最好的情况是在那里访问它然后定义它两次。
感谢您的帮助!
答案 0 :(得分:1)
也许它会帮助你NavUtils.getParentActivityName(childActivityInstance)
答案 1 :(得分:0)
您可以随时使用简单的方法:在ParentActivity
中将父活动名称作为字符串传递给intent extrasIntent intent = new Intent(ParentActivity.this, ChildActivity.class);
intent.putExtra("parent_activity_name", "ParentActivity");
...
startActivity(intent);
然后在ChildActivity活动中获取它
Intent intent = getIntent();
String parentName = intent.getStringExtra("parent_activity_name");
不确定是否还有其他更优雅的解决方案。