gpt4 book ai didi

android - 从不同的包启动 Activity

转载 作者:IT老高 更新时间:2023-10-28 23:40:17 27 4
gpt4 key购买 nike

我在包 1 中有 Activity A,我想运行一个 Intent 来启动包 2 中的 Activity B。

我该怎么做?欢迎任何 sample 。

这是我所做的,我得到的错误:

包中的第一个 Activity (“MainActivity”):com.abelski.currencyclient和第二个 Activity (不同包中的“SecondActivity”:com.idan.second

现在我想从 MainActivity 调用 SecondActivity。

我在 MainActivity 的 list 中添加了这一行:

 <activity android:name="com.idan.second.SecondApplicationActivity"></activity>

现在在主 Activity 中,我得到了运行这一行的按钮:

Intent intent = new Intent(MainActivity.this,SecondApplicationActivity.class); 

这是错误:

04-29 09:20:59.197: ERROR/AndroidRuntime(399): Uncaught handler: thread main exiting due to uncaught exception
04-29 09:20:59.276: ERROR/AndroidRuntime(399): java.lang.NoClassDefFoundError: com.idan.second.SecondApplicationActivity
04-29 09:20:59.276: ERROR/AndroidRuntime(399):

最佳答案

我假设您所说的“包”是指应用程序。

我们有:- 带有 FirstActivity 的 ApplicationA- 带有 SecondActivity 的 ApplicationB

如果在 ApplicationB 的 AndroidManifest.xml 文件中,在 SecondActivity 的声明中添加一个 Intent 过滤器,例如:

<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="applicationB.intent.action.Launch" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

您可以创建一个 Intent 以从 FirstActivity 启动此 SecondActivity:

Intent intent = new Intent("applicationB.intent.action.Launch");
startActivity(intent);

这一切的意思是:

  • SecondActivity 有一个针对“applicationB.intent.action.Launch” Intent Action 的过滤器
  • 当您使用该操作创建 Intent 并调用“startActivity”时,系统将找到响应它的 Activity (如果有)

相关文档位于:https://developer.android.com/reference/android/content/Intent.html

关于android - 从不同的包启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2741857/

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