gpt4 book ai didi

android - android.intent.category.DEFAULT 和 android.intent.category.PREFERENCE 之间有什么不同?

转载 作者:行者123 更新时间:2023-11-29 18:52:44 28 4
gpt4 key购买 nike

我使用 openActivity<MyPreferenceActivity>()使用 Kotlin 在 Android Studio 3.1.2 中创建首选项 UI。

看来代码A和代码B都可以正常工作。

android.intent.category.DEFAULT 之间有什么不同?和 android.intent.category.PREFERENCE ?谢谢!

代码A

<activity android:name="ui.MyPreferenceActivity">
<intent-filter>
<action android:name="ui.MyPreferenceActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

代码B

        <activity android:name="ui.MyPreferenceActivity">
<intent-filter>
<action android:name="ui.MyPreferenceActivity" />
<category android:name="android.intent.category.PREFERENCE" />
</intent-filter>
</activity>

两者

class MyPreferenceActivity : PreferenceActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
fragmentManager.beginTransaction().replace(android.R.id.content, MyPreferenceFragment()).commit()
}

class MyPreferenceFragment : PreferenceFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
addPreferencesFromResource(R.xml.aa)
}
}
}

最佳答案

使用 Intent 过滤器的目的是为了隐式 Intent 。如果您的 Activity 是由未为其分配特定类别的隐式 Intent 启动的,则其 Intent 过滤器应包含 list 文件中提到的类别。

It seems that both Code A and Code B can work well.

没错。即使在 list 文件中将 Activity “X”定义为不同的 Intent Activity 过滤器和类别,也可以复制相同的代码和功能。就像我上面提到的, Intent 过滤器的目的是使用隐式 Intent 。如果您在 list 中将其定义为 Preference Category Intent ,则当您启动 Preference 类型的隐式 Intent 时,将调用 Activity X。

What are different between android.intent.category.DEFAULT and android.intent.category.PREFERENCE

android.intent.category.DEFAULT 是隐式 Intent 的默认类别(AS 在其中没有任何特定作用),而定义为 android.intent.category 的 Activity 。当您需要调用首选项 Activity/fragment/面板的隐式 Intent 时,将调用 PREFERENCE

关于android - android.intent.category.DEFAULT 和 android.intent.category.PREFERENCE 之间有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50595358/

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