`

android之隐示意图--在一个 <intent-filter>意图中用两个action启动这个activity

 
阅读更多

主页面布局:layout/activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">


<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按Action值1启动目标Activity" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按Action值2启动目标Activity" />


</LinearLayout>

主页面java代码:

package com.sxt.day04_07_twoaction;


import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;


public class MainActivity extends Activity implements OnClickListener{


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setListener();
}


private void setListener() {
findViewById(R.id.btn1).setOnClickListener(this);
findViewById(R.id.btn2).setOnClickListener(this);
}


@Override
public void onClick(View v) {
Intent intent=new Intent();
switch (v.getId()) {
case R.id.btn1:
intent.setAction("com.sxt.day04_07_twoaction.SecondActivity");
break;
case R.id.btn2:
intent.setAction("com.sxt.day04_07_twoaction.SecondActivity2");
break;
}
startActivity(intent);
}
}

第二个页面布局:layout/activity_second.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".SecondActivity" >


<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />


</RelativeLayout>

第二个页面java代码:

package com.sxt.day04_07_twoaction;


import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;


public class SecondActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Log.i("main","SecondActivity");
}


}

列表清单:AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sxt.day04_07_twoaction"
android:versionCode="1"
android:versionName="1.0" >


<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />


<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.sxt.day04_07_twoaction.MainActivity"
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="com.sxt.day04_07_twoaction.SecondActivity"
android:label="@string/title_activity_second" >
<intent-filter>
<action android:name="com.sxt.day04_07_twoaction.SecondActivity"/>
<action android:name="com.sxt.day04_07_twoaction.SecondActivity2"/>

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


</manifest>

效果:



分享到:
评论

相关推荐

    Androidmanifest.xml文件分析

    &lt;intent-filter&gt;&lt;/intent-filter&gt; &lt;meta-data/&gt; &lt;/activity-alias&gt; &lt;service&gt; &lt;intent-filter&gt;&lt;/intent-filter&gt; &lt;meta-data/&gt; &lt;/service&gt; &lt;receiver&gt; &lt;intent-filter&gt;&lt;/intent-filter&gt; &lt;meta-data/&gt; &lt;/...

    Data、Type属性与Intent-filter配置

    在这个例子中,我们声明了一个Action为`VIEW`的Intent-filter,这意味着我们的Activity可以响应查看操作。Category `DEFAULT`表示这是默认的处理方式。`data`部分指定了MIME类型为`image/*`,意味着Activity可以处理...

    ImagesWidget.rar

    &lt;intent-filter&gt; &lt;action android:name="android.intent.action.MAIN" /&gt; &lt;category android:name="android.intent.category.LAUNCHER" /&gt; &lt;/intent-filter&gt; &lt;intent-filter&gt; &lt;action android:name=...

    Android Intent Filter用法

    通过在&lt;activity&gt;、&lt;service&gt;、&lt;receiver&gt;或&lt;provider&gt;标签内添加&lt;intent-filter&gt;子标签,我们可以为每个组件定义其能够接收的Intent类别。 1. **Action**: Action是Intent的一个属性,表示Intent要执行的动作,...

    android中隐式intent与activity的匹配原则2022优秀文档.pptx

    如果Intent请求或&lt;intent-filter&gt;中没有说明具体的Action类型,那么会出现两种情况:如果&lt;intent-filter&gt;中没有包含任何Action类型,那么无论什么Intent请求都无法和这条&lt;intent-filter&gt;匹配。反之,如果Intent请求...

    Google Android揭秘第三章实例.rar

    &lt;intent-filter&gt; &lt;action android:name="android.intent.action.MAIN" /&gt; &lt;category android:name="android.intent.category.LAUNCHER" /&gt; &lt;/intent-filter&gt; &lt;/activity&gt; &lt;activity android...

    Android利用Intent启动和关闭Activity

    应用界面中会有两个按钮,一个用于拨打电话,一个用于启动新的Activity。当用户点击按钮时,相应的Intent会被创建并启动对应的操作。 ### 注意事项 - 显式关闭Activity应谨慎使用,因为可能影响用户的导航体验。 -...

    Android activity-alias别名的使用

    在Android开发中,Activity是应用程序的基本组件之一,用于呈现用户界面并与用户交互。然而,有时候开发者可能需要在不改变原始Activity的基础上实现不同的功能或者提供不同的入口,这时Android系统提供的Activity...

    Android源码——Activity设置相同的action进行判断源码_new_02.7z

    在Android系统中,Activity是应用程序的基本组件之一,用于与用户交互和展示界面。当我们需要根据不同的情况启动同一个Activity时,通常会通过Intent的Action属性来区分不同的启动意图。本压缩包文件提供了关于如何...

    Android开发 两个Activity之间通过Intent跳转传值

    本文将深入探讨如何在两个Activity之间通过Intent进行数据传递。 首先,理解Intent的基本概念。Intent是一个意图对象,它表达了应用程序想要执行的动作(如打开一个网页、拨打电话)以及可能涉及到的数据。在...

    安卓-Activity-广播接收者的使用

    在AndroidManifest.xml中,需要为Activity定义`&lt;intent-filter&gt;`来声明它可以响应哪些隐式意图。 ```xml &lt;activity android:name="OtherActivity"&gt; &lt;intent-filter&gt; &lt;action android:name=...

    041集-启动带两个Category值的预定义Activity和桌面Activity

    在AndroidManifest.xml中,我们通过`&lt;intent-filter&gt;`标签来设置Activity的Category。例如,一个同时拥有`CATEGORY_LAUNCHER`和`CATEGORY_DEFAULT`的Activity声明可能如下: ```xml &lt;activity android:name="....

    Android Activity设置相同的action进行判断源码.rar

    在Android中,当有多个Activity声明了同一个action的IntentFilter,系统会使用Intent的筛选机制来决定启动哪个Activity。这个过程通常涉及以下步骤: 1. **Intent Filter声明**:在AndroidManifest.xml中,为每个...

    Android代码-隐藏安装包图标使用其他应用启动本应用.rar

    如果我们想要隐藏这个图标,我们需要修改AndroidManifest.xml,将默认的launcher activity的`&lt;intent-filter&gt;`中的`ACTION_MAIN`和`CATEGORY_LAUNCHER`去掉,这样这个Activity就不会被启动器识别,图标也就不会显示...

    动态设置启动的第一个activity

    这个主Activity通常在AndroidManifest.xml文件中通过`&lt;intent-filter&gt;`标签和`&lt;action android:name="android.intent.action.MAIN"&gt;`以及`&lt;category android:name="android.intent.category.LAUNCHER"&gt;`来标识。...

    Android应用源码之隐藏安装包图标使用其他应用启动本应用.zip

    当用户点击应用图标时,系统会默认启动定义在AndroidManifest.xml文件中的`&lt;intent-filter&gt;`标签下的`&lt;action android:name="android.intent.action.MAIN" /&gt;`和`&lt;category android:name="android.intent.category....

    Activity_intent-filter

    在 `AndroidManifest.xml` 文件中,你可以为每个 `Activity` 添加一个或多个 `&lt;intent-filter&gt;` 标签,以声明其可处理的 `Intent` 类型。例如,如果你希望其他应用能通过点击一个URL启动你的 `Activity`,你可以...

    android edittext不弹出软键盘三种方法

    android edittext不弹出软键盘三种... &lt;intent-filter&gt; &lt;action android:name="android.intent.action.MAIN" /&gt; &lt;category android:name="android.intent.category.LAUNCHER" /&gt; &lt;/intent-filter&gt; &lt;/activity&gt;

    Android高级应用源码-隐藏安装包图标使用其他应用启动本应用.zip

    通常,我们会在AndroidManifest.xml文件中设置主Activity,并通过设置`&lt;intent-filter&gt;`来声明其为启动点。当用户点击应用图标时,系统会根据这个配置启动相应的Activity。 要隐藏应用图标,我们只需简单地移除主...

Global site tag (gtag.js) - Google Analytics