我是靠谱客的博主 无语绿草,最近开发中收集的这篇文章主要介绍android 意图过滤器,Android中的意图过滤器是什么?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Android中的意图过滤器是什么?

在我的Android应用中,我想从初始活动“ A”开始活动“ B”。 我为这两个都创建了类。 但是,使用以下代码启动B时,出现运行时错误:AndroidManifest.xml。这是我的代码:

Intent myIntent = new Intent(this, AddNewActivity.class);

startActivity(myIntent);

当我在AndroidManifest.xml中为活动B添加新条目时,该应用程序开始工作。

我有两个问题:

当AndroidManifest.xml中有多个活动条目时,android如何知道首先开始哪个活动?

我不明白意图过滤器。 谁能解释一下。

这是我的部分AndroidManifest.xml

android:label="@string/app_name">

9个解决方案

67 votes

意图过滤器是应用清单文件中的表达式,用于指定组件希望接收的意图类型。

创建隐式意图时,Android系统会通过将意图的内容与设备上其他应用的清单文件中声明的意图过滤器进行比较,找到合适的组件来开始。 如果意图与意图过滤器匹配,则系统将启动该组件并将其交付给Intent对象。

AndroidManifest.xml

android:label="@string/app_name">

启动HelloWorld

Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse("http://androidium.org"));

startActivity(intent);

santoshpatmca answered 2020-01-01T21:16:11Z

30 votes

有多个活动时   AndroidManifest.xml中的条目,如何   Android是否知道要进行哪些活动   首先开始?

没有“第一”。 对于您的情况,如清单所示,启动器中将有两个图标。 用户点击的任何一个都是启动的。

我不明白意图过滤器。   谁能解释一下。

关于此主题有很多文档。 请考虑阅读,然后提出更具体的问题。

另外,当您收到“应用程序意外停止,请重试”时,请在Eclipse中使用adb logcat,DDMS或DDMS透视图检查与错误相关的Java堆栈跟踪。

CommonsWare answered 2020-01-01T21:15:37Z

2 votes

首先更改xml,将第二个活动标记为DEFAULT

现在,您可以使用StartActivity方法启动此活动。

Excel Logix answered 2020-01-01T21:16:35Z

2 votes

创建隐式意图时,Android系统会通过将意图的内容与设备上其他应用的清单文件中声明的意图过滤器进行比较,找到合适的组件来开始。 如果意图与意图过滤器匹配,则系统将启动该组件并将其交付给Intent对象。 如果兼容多个意图过滤器,则系统将显示一个对话框,以便用户可以选择要使用的应用程序。

意图过滤器是应用清单文件中的表达式,用于指定组件希望接收的意图类型。 例如,通过为活动声明一个意图过滤器,您可以使其他应用程序以某种意图直接启动您的活动。 同样,如果您没有为活动声明任何意图过滤器,则只能以显式意图启动它。

根据:意图和意图过滤器

Michael Horojanski answered 2020-01-01T21:17:05Z

2 votes

如果您打开了应用程序,则希望将其作为Activity的第一个屏幕,然后在intent类别中将其称为LAUNCHER,其余活动在intent类别中提及Default。

例如:-有两个活动A和B

活动A为启动,因此在意图类别中将其设为启动,活动B为活动A的子级,因此将其设为默认。

android:label="@string/app_name">

Mahadevappa T answered 2020-01-01T21:17:34Z

1 votes

保留带有键LAUNCHER和DEFAULT的第一个意图过滤器,并添加另一个作为ANY_NAME和DEFAULT。

您的LAUNCHER将成为活动A,而DEFAULT将成为您的活动B。

Prashant answered 2020-01-01T21:17:59Z

1 votes

不能有两个启动器AFAIK。 Logcat在后面是调试和检查应用程序/计算机状态的有用工具。 从一个活动切换到另一活动时,它将是自动的。

Saikat Biswas answered 2020-01-01T21:18:19Z

1 votes

意图过滤器是表示您的应用程序清单中的表达式,用于指定组件要接收的意图类型。如果组件没有任何意图过滤器,则它可以接收显式意图。如果组件带有过滤器,则同时接收隐式和显式意图

Bajirang namade answered 2020-01-01T21:18:39Z

0 votes

如果可能,请尝试以下一种即时解决方案:

Intent intent =new Intent(getApplicationBaseContext,second_Act.class);

StartActivity(intent);

Shiva-mamaa answered 2020-01-01T21:18:59Z

最后

以上就是无语绿草为你收集整理的android 意图过滤器,Android中的意图过滤器是什么?的全部内容,希望文章能够帮你解决android 意图过滤器,Android中的意图过滤器是什么?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部