gpt4 book ai didi

java - 启动 Intent 找不到 Activity

转载 作者:行者123 更新时间:2023-12-02 08:31:49 25 4
gpt4 key购买 nike

我的程序有一个选项卡列表,每个选项卡都包含一个人员列表。单击某人应编辑其详细信息,但单击某人会引发 ActivityNotFoundException。我启动编辑 Activity 的代码:

Intent intent = new Intent("my.package.EDIT");                // Person is both
intent.putExtra("my.package.PERSON", (Parcelable) myPerson); // Parcelable and
GroupArrayAdapter.this.getContext().startActivity(intent); // Serializable

AndroidManifest.xml的相关部分:

<activity android:name="EditActivity">
<intent-filter>
<action android:name="my.package.EDIT" />
</intent-filter>
</activity>

发生什么事了?

最佳答案

有两种方法可以显式或隐式启动 Activity。显式表示直接使用类名;通常,如果您要调用自己的应用程序内的 Activity,则您打算使用显式方法,因为它要容易得多:

Intent intent = new Intent(context, EditActivity.class);
context.startActivity(intent);

但是,如果您确实打算使用隐式过滤,那么您的 Intent 过滤器就会丢失一些东西。每个隐式 Intent 过滤器都需要类别android.intent.category.DEFAULT(除了少数异常(exception))。尝试一下,看看它是否有效:

<activity android:name="EditActivity">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="my.package.EDIT" />
</intent-filter>
</activity>

建议阅读:intent filters .

关于java - 启动 Intent 找不到 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3166990/

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