gpt4 book ai didi

android - 如何使用自定义 Intent 启动 Activity ?

转载 作者:行者123 更新时间:2023-11-30 04:06:47 47 4
gpt4 key购买 nike

我有一个非常简单的应用程序(来自教科书的示例),它包含 2 个 Activity :第一个 Activity UsingIntentActivity 有一个按钮。单击此按钮时,它必须导致名为 SecondActivity 的第二个 Activity ,该 Activity 将在屏幕上显示文本。

我可以使用 startActivity(new Intent(this, SecondActivity.class));

但是在我遇到这个例子的教科书中使用了另一种形式的相同方法:

startActivity(new Intent("net.dreamingpixel.SecondActivity"));

并且在 Manifest File 中创建了一个匹配的自定义 Intent (据我所知):

    <activity
android:name=".UsingIntentActivity"
android:label="@string/title_activity_using_intent" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SecondActivity"
android:label="Second Activity" >
<intent-filter>
<action android:name="net.dreamingpixel.SecondActivity" />

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

所以有一个 intent-filter 并且它的类别设置为 DEFAULT。但是,当我尝试像这样运行应用程序并单击 UsingIntentActivity 的按钮时,应用程序崩溃了。在日志猫中,我可以看到以下消息:

FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute the method of the activity

然后它指向我在本文开头写的startActivity方法的调用。

有人遇到过类似的问题吗?我是不是哪里弄错了?

更新:我还注意到在 Manifest 文件中打开第二个 Activity 标签的那一行有一个警告。它说:导出的 Activity 不需要许可

也许这个警告与我的问题有关..

最佳答案

当您发送时,您已根据 list 文件在 list 文件中创建了第二个 Activity

startActivity(new Intent("net.dreamingpixel.SecondActivity"));

这里的net.dreamingpixel.SecondActivity 的意思是,这里你需要提供你在项目中创建的包的 Activity 名称...

在顶部的 list 中,您会找到包名称。您需要在您的 Activity 中使用该包名称...

这里按照上面的代码..

    net.dreamingpixel ----- is a package
SecondActivity ----- is an Activity in that package.

关于android - 如何使用自定义 Intent 启动 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11490810/

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