编程语言
首页 > 编程语言> > java-检索活动实例的ActivityInfo

java-检索活动实例的ActivityInfo

作者:互联网

我在助手类中有一个Activity的实例,并且试图从AndroidManifest.xml文件中的条目获取属性.

我可以获得所有ActivityInfo实例的列表,但是如何为我的应用程序定位特定的实例呢?

活动实例与帮助程序类不在同一包中,并且未在同一清单中定义(活动程序应用程序项目中包含的库是帮助程序类).

到目前为止,我有:

Activity activity = //the instance
String applicationPackage = activity.getApplicationInfo().packageName;
PackageInfo info = activity.getPackageManager().getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
for (ActivityInfo activityInfo : info.activities) {
    if (/* activityInfo applies to our activity instance */) {
        return activityInfo.someProperty;
    }
}

解决方法:

我对您的问题的理解:您需要获取有关应用程序中特定活动的信息.

当前,您正在使用getPackageInfo从程序包管理器中获取程序包信息,但是如果您只关心应用程序中的一个Activity,则不需要这样做.您可以改用getActivityInfo,只要您知道Activity的全限定名并使用ComponentName,例如:com.example.myapp / com.example.myapp.myactivity

PackageManager Docs

标签:reflection,android-manifest,java,android
来源: https://codeday.me/bug/20191102/1994274.html