gpt4 book ai didi

android - 为什么 ComponentName 构造函数有两个参数?

转载 作者:IT老高 更新时间:2023-10-28 23:21:09 33 4
gpt4 key购买 nike

来自 Pro Android 2 书籍:“ComponentName 将 package 名称和 class 名称包装在一起。例如...”

Intent intent = new Intent();
Intent.setCompnonet(new ComponentName(
"com.android.contacts"
,"com.android.contacts.DialContactsEntryActivity");
startActivity(intent)

如果您查看示例,您会注意到包名可以轻松从类名派生。所以显而易见的问题是:为什么有两个参数?为什么不只提供类名?

是否存在传递给ComponentName构造函数的类属于传递给同一个构造函数的包的情况?

最佳答案

应用程序组件可能存在于一个应用程序中,其包名(在其 Android list 中声明)与定义该组件的特定类的 Java 包完全不同。 Google Maps 应用程序中的 MapsActivity 就是一个例子:

intent.setComponent(new ComponentName("com.google.android.apps.maps", 
"com.google.android.maps.MapsActivity"));

关于android - 为什么 ComponentName 构造函数有两个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5123092/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com