在我的 Android 应用程序中,我想从初始活动“A”开始活动“B”。我为这两个项目创建了课程。但是,当使用以下代码启动 B 时,我收到运行时错误:application has stopped unexpectedly, try again
。这是我的代码:
Intent myIntent = new Intent(this, AddNewActivity.class);
startActivity(myIntent);
当我添加一个新条目时AndroidManifest.xml/manifest/application/activity/intent-filers
对于活动 B,应用程序可以正常工作。
我有两个问题:
- 当有多个活动条目时
AndroidManifest.xml
,android如何知道首先启动哪个activity?
- 我无法理解意图过滤器。谁能解释一下。
这是我的部分AndroidManifest.xml
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ListAllActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".AddNewActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
意图过滤器是应用程序清单文件中的一个表达式,用于指定组件希望接收的意图类型。
当您创建隐式意图时,Android系统通过将意图的内容与设备上其他应用程序的清单文件中声明的意图过滤器进行比较来找到适当的组件来启动。如果意图与意图过滤器匹配,系统将启动该组件并向其传递意图对象。
AndroidManifest.xml
<activity android:name=".HelloWorld"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http" android:host="androidium.org"/>
</intent-filter>
</activity>
启动HelloWorld
Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse("http://androidium.org"));
startActivity(intent);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)