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
标签:reflection,android-manifest,java,android 来源: https://codeday.me/bug/20191102/1994274.html