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

发布于 2024-11-26 15:13:47 字数 350 浏览 0 评论 0原文

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

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

对于服务,我显然会使用“getServiceInfo()”方法而不是活动信息,但没有“getComponentName()” ' 服务中的方法。有什么原因导致此功能不可用吗?我必须在这里构造自己的 ComponentName 对象吗?

谢谢

I have metadata in the AndroidManifest.xml for my service. Getting this metadata is fairly straightforward in an activity, as all you have to do is something like this:

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

For services, I would obviously be using the 'getServiceInfo()' method instead of the activity info, but there is no 'getComponentName()' method in a Service. Is there any reason why this isn't available? Do I have to construct my own ComponentName object here?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沉睡月亮 2024-12-03 15:13:47
ComponentName myService = new ComponentName(this, this.getClass());
Bundle data = getPackageManager().getServiceInfo(myService, PackageManager.GET_META_DATA).metaData;
ComponentName myService = new ComponentName(this, this.getClass());
Bundle data = getPackageManager().getServiceInfo(myService, PackageManager.GET_META_DATA).metaData;
强辩 2024-12-03 15:13:47

我必须在这里构造自己的 ComponentName 对象吗?

据我所知,是的。在 Service 中,new ComponentName(this, this.getClass()) 应该为您提供服务本身的 ComponentName

Do I have to construct my own ComponentName object here?

AFAIK, yes. From a Service, new ComponentName(this, this.getClass()) should give you a ComponentName for the service itself.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文