行,
所以我正在制作一个 UI 元素的库项目。该库有一些基于ActionBarSherlock的活动,ActionBarSherlock是 android 中操作栏的向后兼容库。在这些活动中,我希望在操作栏中有一个按钮,无论他们在图书馆项目中使用哪个活动,它都会将用户带回家。
一些术语。“库”指的是我正在处理的 Android UI 库项目。“应用程序”是指开发人员可能与所包含的库一起使用的任何客户。
通常,当您进行一项活动并想调用另一个活动时,您会执行类似的操作。
intent = new Intent(this, WhateverMyActivityName.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
很简单。但这是棘手的一点。Android 库几乎不知道什么应用程序正在使用它们。所以“WhateverMyActivityName.class”是没有用的,因为无法预测开发人员应用程序将调用他们的活动。
我需要更换
intent = new Intent(this, WhateverMyActivityName.class);
像这样的东西
intent = new Intent(this, getApplication().MainActivity().getClass());
或者可能使用某种意图操作来调用应用程序中的主 Activity(Intent.ACTION_MAIN or Intent.CATEGORY_LAUNCHER)
简而言之:如何从库项目中获取应用程序主要活动?