Android的Manifest-意图过滤器和活动(Android Manifest- intent

2019-09-15 11:53发布

可能有人解释清单中的以下行 -

    <activity
        android:name=".AboutUs"
        android:label="@string/app_name">
        <intent-filter >
            <action android:name="com.example.app1.ABOUT" />
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>

    </activity>    

如何在活动和意图过滤器等领域重要的,当使用它们/简称? 对不起,我试图读取文档,但仍不可能推测出很多。

谢谢

Answer 1:

android:name=".AboutUs"

这是你的Activity类的名称,在前面的点是你的包速记符号。 因此,这实际上代表com.your.package.name.AboutUs这意味着代表本活动被称为你的java文件AboutUs.java

android:label="@string/app_name"

标签是被在启动器中显示(如果该活动是在启动上市),并在窗口顶部,当活动是开放的字符串。

<intent-filter > ... </intent-filter>

意图过滤器定义了您的活动,以推出“监听”的意图。

<action android:name="com.example.app1.ABOUT" />
<category android:name="android.intent.category.DEFAULT"/>

动作和类别指的是转移一个Intent设置前被“炒客”进入系统两个领域。 然后,系统会寻找符合双方的动作和类别的任何活动,如果找到一个那么它会启动该活动,或者如果它发现多它将显示用户所有的人,让他们挑选。

在你的情况你你正在听的动作com.example.app1.ABOUT是一个自定义操作特定于您的应用程序,该系统操作的一个也没有。

因此,这里是将启动这一特定活动的意图可能是什么样子:

Intent i = new Intent();
i.setAction("com.example.app1.ABOUT");
i.addCategory("android.intent.category.DEFAULT");
startActivity(i);

需要注意的是,因为你已经创建了一个自定义操作,这种意图并不需要访问您的AboutUs.class所以这个意图技术上可从设备上的任何应用程序解雇,它将推出为您的活动。



Answer 2:

对于ACTION你有这样的答案 ,并为默认类别你有这样的答案



Answer 3:

活动是一个应用程序组件,它提供了用户可以为了做一些事情,如拨打电话,拍照,发送电子邮件或查看地图交互的屏幕。 要声明你的活动,打开你的manifest文件,并添加元素像你的榜样元素的一个孩子。

  • 而Android:name属性是唯一必需的属性,它指定活动的类名。
  • 所述机器人:标签属性是应用程序作为一个整体为每个应用程序的组件的用户可读的标签,和一个默认标签

一个元素也可以指定在元件为了声明如何其它应用程序组件可以激活它的各种意图过滤-使用。

  • 元素指定,这是“主”入口点的应用程序。
  • 该元素指定这一活动应在系统中的应用程序启动上市(允许用户推出这项活动)。

请参阅http://developer.android.com/guide/components/activities.html



文章来源: Android Manifest- intent filter and activity