`

android之隐示意图--在一个 <intent-filter>意图中用两个category启动这个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="按Category值1启动目标Activity" />
    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="按Category值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();
intent.setAction("com.sxt.day04_07_twoaction.SecondActivity");
switch (v.getId()) {
case R.id.btn1:
intent.addCategory("com.sxt.day04_07_twoaction.category");
break;
case R.id.btn2:
intent.addCategory("android.intent.category.DEFAULT");
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"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="com.sxt.day04_07_twoaction.category"/>
            </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;/...

    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...

    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=...

    Data、Type属性与Intent-filter配置

    Data、Type属性与Intent-filter配置首界面如图4所示,点击“查看图片”可以选择3个符合条件的Activity显示分别以全屏、图5和缩小三个不同的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 8.1设置添加Ethernet功能选项

    &lt;category android:name="com.android.settings.SHORTCUT" /&gt;+ &lt;/intent-filter&gt; &lt;meta-data android:name="com.android.settings.FRAGMENT_CLASS" android:value=...

    Android利用Intent启动和关闭Activity

    主要为大家详细介绍了Android利用Intent启动和关闭Activity的相关操作,感兴趣的小伙伴们可以参考一下

    安卓雷电飞机小游戏源码

    &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;/application&gt; &lt;/manifest&gt;

    android 8.1设置添加Ethernet功能选项patch文件

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

    android 项目 开发 Demo

    &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:name="....

    安卓代码日志分析

    -&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;/application&gt; &lt;/manifest&gt;

    android基础随手笔记

    2&gt;intent-filter中可以声明多个action &lt;intent-filter&gt; &lt;action name="cooking"/&gt; &lt;action name="eating"/&gt; &lt;/intent-filter&gt; 3&gt;如果intent中的action是Intent-filter中 声明的action中的一个,则action匹配...

    android 项目 实例

    &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:name="....

    安卓配置文件

    &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;/application&gt; &lt;/manifest&gt;

    Android应用:Intent打开另外一个Activity,Intent拨电话,Intent在2个Activity间传递参数

    Android源代码 演示3个功能: (1)Intent打开另外一个Activity (2)Intent拨电话 (3)Intent在2个Activity间传递数据

    ToastDemo TOST用法包

    &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;/application&gt; &lt;/manifest&gt;

    Android状态保存、用户偏好设置保存、通过universal_image_loder网络加载图片并做图片缓存处理Demo

    &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:name=...

    点击浏览器中的URL链接,启动特定的App。

    ...&lt;a href="[scheme]://[host]/[path]?[query]"&gt;启动应用程序&lt;/a&gt; 这一句就可以了。 各个项目含义如下所示: scheme:判别启动的App。 ※详细后述 host:适当记述 path:传值时必须的key ※没有也...&lt;/intent-filter&gt;

    Android开发-Activity的生命周期及Intent

    1、设计如下界面,包括四个按钮,两个文本框。单击对应按钮可以启动对应activity。假 定Activity A为启动Activity。 2、修改 Activity 的启动模式 LaunchMode,并通过 Log 信息来体会不同启动模式所对应的 Activity ...

Global site tag (gtag.js) - Google Analytics