pub struct ComponentName { /* private fields */ }
Expand description
可用的特定应用组件(android.app.Activity、android.app.Service、BroadcastReceiver 或 ContentProvider)的标识符。 需要在此处封装两条信息来识别组件:组件所在的包(字符串)以及该包内的类名(字符串)。
Implementations§
Source§impl ComponentName
impl ComponentName
Sourcepub fn create_relative(pkg: String, cls: String) -> Self
pub fn create_relative(pkg: String, cls: String) -> Self
创建一个新的组件标识符,其中类名可以指定为绝对名称或相对于包含包的名称。相对包名以“.”字符开头。
对于包“com.example”和类名“.app.MyActivity”,此方法将返回包“com.example”和类名“com.example.app.MyActivity”的 ComponentName。
还允许使用完全限定的类名。
返回:新的 ComponentName
pkg
组件所在的包的名称
cls
pkg 中实现组件的类的名称
Sourcepub fn create_relative_context(pkg: &Context, cls: String) -> Self
pub fn create_relative_context(pkg: &Context, cls: String) -> Self
创建一个新的组件标识符,其中类名可以指定为绝对名称或相对于包含包的名称。相对包名以“.”字符开头。
对于包“com.example”和类名“.app.MyActivity”,此方法将返回一个包含包“com.example”和类名“com.example.app.MyActivity”的 ComponentName。
还允许使用完全限定的类名。
返回:新的 ComponentName
pkg
实现组件的包的上下文
cls
实现组件的 pkg 内类的名称
Sourcepub fn new(pkg: String, cls: String) -> Self
pub fn new(pkg: String, cls: String) -> Self
创建一个新的组件标识符。
pkg
组件所在包的名称。不能为空。
cls
pkg 中实现组件的类的名称。不能为空。
Sourcepub fn new_context(pkg: &Context, cls: String) -> Self
pub fn new_context(pkg: &Context, cls: String) -> Self
根据上下文和类名创建新的组件标识符。
pkg
实现组件的包的上下文,将从中检索实际的包名称。
cls
pkg 中实现组件的类的名称。
Sourcepub fn get_package_name(&self) -> String
pub fn get_package_name(&self) -> String
返回该组件的包名称。
Sourcepub fn get_class_name(&self) -> String
pub fn get_class_name(&self) -> String
返回此组件的类名。
Sourcepub fn get_short_class_name(&self) -> String
pub fn get_short_class_name(&self) -> String
返回类名,如果它是包的后缀,则返回完全限定或缩写形式(以“。”为前导)。
Sourcepub fn flatten_to_short_string_static(component_name: Option<Self>) -> String
pub fn flatten_to_short_string_static(component_name: Option<Self>) -> String
助手在可以为空的 ComponentName 引用中获取 flattenToShortString()。
Sourcepub fn flatten_to_string(&self) -> String
pub fn flatten_to_string(&self) -> String
返回一个明确描述 ComponentName 中包含的包和类名称的字符串。稍后您可以通过 unflattenFromString(String) 从此字符串中恢复 ComponentName。 返回:返回一个包含包和类名称的新字符串。这表示为包名称,用“/”连接,然后是类名称。
Sourcepub fn flatten_to_short_string(&self) -> String
pub fn flatten_to_short_string(&self) -> String
与 flattenToString() 相同,但如果类名是包的后缀,则缩写类名。结果仍可与 unflattenFromString(String) 一起使用。 返回:返回一个包含包和类名的新字符串。这表示为包名称,用“/”连接,然后是类名。
Sourcepub fn unflatten_from_string(str: String) -> Option<Self>
pub fn unflatten_from_string(str: String) -> Option<Self>
从之前使用 flattenToString() 创建的字符串中恢复 ComponentName。它在第一个“/”处拆分字符串,将前面的部分作为包名称,将后面的部分作为类名称。
为了特别方便(例如,在命令行上解析组件名称时使用),如果“/”后面紧跟着“.”,则最终的类名将是包名称与“/”后面的字符串的连接。因此,“com.foo/.Blah”变为 package=“com.foo” class=“com.foo.Blah”。
返回:返回一个新的 ComponentName,其中包含在 str 中编码的包和类名称
str
flattenToString() 返回的字符串。
Sourcepub fn to_short_string(&self) -> String
pub fn to_short_string(&self) -> String
返回此类的字符串表示形式,不带类名作为前缀。