`
dengyin2000
  • 浏览: 1224986 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Intent Flag的一些东西。

 
阅读更多
使用下面的代码可以做到跟点击app应用图标一样的效果,(如果在后台 就带到前台, 如果没有就打开新的app)

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClass(this, Main.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);


引用
除了 setClass 可以换成使用 setClassName 绑定,FLAG_ACTIVITY_RESET_TASK_IF_NEEDED可以不设,其他的选项都缺一不可。设置ACTION_MAIN与CATEGORY_LAUNCHER是把该Intent发给了系统对应创建程序的模块,然后系统该模块根据设定的包与类信息还有flags进行处理。当然所有的Intent工作原理都是这样,只是对 ACTION_MAIN - CATEGORY_LAUNCHAR 的处理较为特殊,使得总是显示Task栈顶的Activity而不是setClass设定的Activity类。


http://www.cnblogs.com/SteveMing/archive/2012/04/24/2459575.html

http://developer.android.com/guide/components/tasks-and-back-stack.html
分享到:
评论

相关推荐

    android Intent.FLAG大全

    本篇文章将详细探讨`Intent.FLAG`的全集,帮助开发者深入理解这些标志如何影响Intent的执行流程。 1. **FLAG_ACTIVITY_NEW_TASK** 这个标志用于启动一个新的任务栈,通常与主Activity关联,表示打开一个全新的应用...

    Activity启动模式及Intent的Flag属性对Intent传值的影响

    本篇将深入探讨`Activity`的启动模式和`Intent`的`Flag`属性对`Intent`传值的影响。 1. **Activity启动模式**: - **Standard**(标准模式):默认模式,每次启动新的实例,无论当前栈中是否存在该Activity。 - *...

    Intent系统调用示例

    - 可能还涉及到Intent Flag的使用,如`FLAG_ACTIVITY_NEW_TASK`、`FLAG_ACTIVITY_CLEAR_TOP`等,控制Activity的启动行为。 5. **IntentFilter** 对于隐式Intent,接收者需要通过IntentFilter声明可以响应哪些...

    Android的Intent实验

    - `setFlags()`: 设置Intent的标志,影响Intent的处理方式,如FLAG_ACTIVITY_NEW_TASK用于在新的任务栈中启动Activity。 5. **启动Activity** 使用`startActivity(Intent)`方法启动一个Activity。如果Intent是...

    intent的常用方法

    本文将详细介绍`Intent`的一些常见用法及其相关知识点。 #### 一、从BroadcastReceiver启动一个新的Activity 在某些场景下,可能需要从BroadcastReceiver启动一个新的Activity。为了正确地进行这一操作,需要注意...

    Android应用源码之Intent1_Intent.zip

    Intent的Flag可以改变启动行为,例如`FLAG_ACTIVITY_NEW_TASK`用于在新的任务栈中启动Activity,`FLAG_ACTIVITY_CLEAR_TOP`则会在目标Activity所在的任务栈顶重新打开该Activity,清除其上的所有Activity。...

    Android应用源码之Intent_Intent.zip

    本资源包“Android应用源码之Intent_Intent.zip”应该包含了关于Intent使用的一些示例代码和解析,帮助开发者深入理解Intent的工作原理。 1. **Intent的类型** Intent主要有两种类型:显式Intent和隐式Intent。...

    Intent实例

    5. **Intent Flag**:Intent还支持各种Flag,用来控制启动行为。比如`FLAG_ACTIVITY_NEW_TASK`用于在新的任务栈中启动Activity,`FLAG_ACTIVITY_CLEAR_TOP`用于清除栈顶到目标Activity之间的所有Activity。 6. **...

    Android Intent传递数据大小限制详解

    Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化对象,Parcelable与Serializable。 Intent传递数据时,如果数据太大,可能会出现异常。比如App闪退,或是Intent发送不成功,logcat...

    Intent跳转的三种写法

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); ``` 2. `FLAG_ACTIVITY_CLEAR_TOP`:当目标Activity已经在任务栈中时,会把栈顶到目标Activity的所有Activity都移除,然后重新创建目标...

    android Intent的用法

    在Android开发中,Intent是一种非常重要的组件间通信机制。它被用来启动活动(Activity)、服务(Service)或者广播接收器(Broadcast Receiver),并且可以传递数据和执行动作。本篇文章将详细解析Intent的用法。 ...

    intent传递类内容

    - Intent的Flag可以控制启动行为,例如`FLAG_ACTIVITY_NEW_TASK`表示在新的任务栈中启动Activity,`FLAG_ACTIVITY_CLEAR_TOP`表示如果目标Activity已经在栈顶,则清除其上面的所有Activity。 6. **Intent Filter**...

    经典的android intent 窗口切换 窗口打开

    Intent Flag可以控制Activity的启动行为,例如`FLAG_ACTIVITY_NEW_TASK`表示在新的任务栈中启动Activity,`FLAG_ACTIVITY_CLEAR_TOP`表示清除栈顶到目标Activity之间的所有Activity。 8. **Intent Filter** 隐式...

    038集-Intent类的重要成员变量

    本教程将深入探讨Intent类的一些核心成员变量,帮助开发者更好地理解和利用Intent来构建功能丰富的Android应用。 1. **Intent类的创建与分类** - `Intent` 类可以通过构造函数初始化,比如 `Intent(context, Class...

    intent属性

    5. Flags:标志位,用于设置Intent的行为,如FLAG_ACTIVITY_NEW_TASK用于启动新的任务栈,FLAG_ACTIVITY_CLEAR_TOP用于重新启动目标活动并清除其上面的所有活动。 三、Intent的创建与使用 1. 创建Intent:可以通过...

    android用于打开各种文件的intent.pdf

    it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Uri uri = Uri.fromFile(new File("/sdcard/images/001041580.jpg")); it.setDataAndType(uri, "image/*"); * 打开视频文件: Intent it = new Intent("android....

    intent总结代码

    7. **Intent Flag** - FLAG_ACTIVITY_NEW_TASK:启动新的任务栈。 - FLAG_ACTIVITY_CLEAR_TOP:清除栈顶Activity并返回到该Activity。 - FLAG_ACTIVITY_SINGLE_TOP:如果目标Activity已经在栈顶,不创建新实例。 ...

    Android应用核心Intent

    6. **Intent Flag** - FLAG_ACTIVITY_NEW_TASK:启动新的任务栈,通常用于启动主Activity。 - FLAG_ACTIVITY_CLEAR_TOP:如果目标Activity已经在栈中,那么移除其上面的所有Activity,然后重新启动目标Activity。 ...

    android各种文件的intent

    - 创建Intent并设置其动作为`VIEW`,同时添加默认分类(category)和标志(flag)`FLAG_ACTIVITY_NEW_TASK`,这样当Intent被触发时,将会在一个新的任务栈中启动一个新的Activity。 - 创建URI对象,这里使用的是`Uri...

    安卓Android源码——Intent.rar

    Intent的Flag可以改变Intent的行为,例如FLAG_ACTIVITY_NEW_TASK开启新的任务栈,FLAG_ACTIVITY_CLEAR_TOP则会清除当前任务栈上的所有Activity。 9. **Intent的安全性**: 鉴于Intent的跨组件通信特性,开发者...

Global site tag (gtag.js) - Google Analytics