如何获取我的服务的“元数据”

时间:2011-07-26 22:32:42

标签: android service metadata

我在AndroidManifest.xml中有我的服务的元数据。在活动中获取此元数据相当简单,因为您所要做的就是这样:

final Bundle data =
getPackageManager().getActivityInfo(this.getComponentName(), PackageManager.GET_META_DATA).metaData;

对于服务,我显然会使用'getServiceInfo()'方法而不是活动信息,但服务中没有'getComponentName()'方法。有什么理由不能提供这个吗?我是否必须在此构建自己的ComponentName对象?

由于

2 个答案:

答案 0 :(得分:7)

ComponentName myService = new ComponentName(this, this.getClass());
Bundle data = getPackageManager().getServiceInfo(myService, PackageManager.GET_META_DATA).metaData;

答案 1 :(得分:1)

  

我是否必须在此构建自己的ComponentName对象?

AFAIK,是的。从Service开始,new ComponentName(this, this.getClass())应为您提供服务本身的ComponentName