Activity-Intent-Intent filters

2024-01-15 07:48
文章标签 activity intent filters

本文主要是介绍Activity-Intent-Intent filters,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么事Activity??

原则上它提供使用者一个交互式的接口功能,那一个activity 只有一个ui吗?不是,可以有多个

* 所有的activity在系统里有Activity堆栈所管理,当一个新的Activity被执行后,它将会被放置到堆栈的最顶部,并且变成running Activity , 而先前的Activity 原则上还是i会存在于堆栈中,但它此时不会是在前景的情况下,除非刚刚那个新的Activity

 

Intent与Intent filters

Android使用了一个很特别的类Intent, 用来从一个画面跳另外一个画面,Intent是用来描述一个程序想要做些什么事情。在Intent的数据结构中有两个重要的部分,一个是动作(action)及对数据产生反应(data to act upon). Action 主要的内容有Main(程序的入口),VIEW, PICK,EDIT等等。Data 则是用url的形式来表示。比如:想要查看一个人的联络数据时,你需要建立一个intent,它包含了VIEW的动作(action)及只想该人数据的uri描述句。

 

Intent Filter:

 

当Intent要求做某件事时,IntentFilter被用来描述这个Activity能够做些什么事情。比如一个Activity要能够显示个人联络数据,你就必须要在intentFilter说明你要如何处理个人联络数据,并用ACTION_VIEW呈现出来。IntentFilter都会在AndroidManifest.xml

清单里面声明。

 

 

intent 和activity

* *  画面切来切去则是由resolving Intent 来实现的。当你想产生新的画面时,现行的activity就用startActivity(myIntent) .然后系统就会根据所有已经安装的程序所有已经定义的intent filter 来看那个程序是最适合myIntent。当startActivity 被呼叫时,resolving Intents的处理过程是伴随而来的。Resoving Intent 提供我们两个好处

 

*  让Activities 可以很容易的利用Intent的方式去使用别的程序的功能

*  activities 可以很容易的在任何情况下由新的Activity所取代

 

看看下面的代码:

 

 

这篇关于Activity-Intent-Intent filters的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/608156

相关文章

兔子--PendingIntent与Intent的区别

pendingIntent是一种特殊的Intent。 主要的区别在于Intent的执行立刻的,而pendingIntent的执行不是立刻的。 pendingIntent执行的操作实质上是参数传进来的Intent的操作, 但是使用pendingIntent的目的在于它所包含的Intent的操作的执行是需要满足某些条件的。 主要的使用的地方和例子:通知Notificatio

LeakCanary测试app内存泄露+registerActivityLifecycleCallbacks管理Activity的生命周期

public class MyApplication extends Application {private String tag = "MyApplication";private static Stack<Activity> activityStack;//检测内存泄露private RefWatcher refWatcher;@Overridepublic void onCreate()

android studio怎么修改创建的Activity的模板?

1.找到android studio的安装目录,如下图,找到对应文件,修改EmptyActivity的模板。 2.修改成如下: 3.新建的EmptyActivity的默认代码如下:

Activity转屏重建之 Activity.onConfigurationChanged

偶尔也会遇到由于转屏引起的一些问题。 有些时候,并不希望由于转屏使得Activity取重建。 再如键盘消失后的重建。 下面以一个demo为例子,小小总结一下用法。 如果想在转屏后,屏幕上立马打印出当前处于什么横竖屏状态 1.都知道有个属性android:configChanges可以用来定义什么情况下可以使得Activity不会restart。 android:configC

查看当前正在运行的Activity列表

1、在终端中输入, 注意adb如果没有配置到系统环境变量里,则需要cd到它所在的文件夹下 “adb shell dumpsys activity” 2、出来的结果比较多,直接搜索"Running" ,找到 Running activities (most recent first):       TaskRecord{4069c020 #4 A shy.luo.ta

Activity被回收导致其内部的Fragment

方式一:   MainActivity重写onSaveInstanceState方法,将super.onSaveInstanceState(outState);注释掉,让其不再保存Fragment的状态,达到其随着MainActivity一起被回收的效果! 方式二: @Overrideprotected void onSaveInstanceState(Bundle outSta

OEM Activity Summary AAS 不记录后台进程 比如 rman

OEM中rman 备份认为是后台进程,所以在Activity Summary未显示 ,AAS 可以显示 去掉后台进程rman 一个也不显示!

Unable to instantiate activity

报的错, 04-25 20:56:13.629: E/Trace(1790): error opening trace file: No such file or directory (2) 04-25 20:56:13.653: E/AndroidRuntime(1790): FATAL EXCEPTION: main 04-25 20:56:13.653: E/AndroidRunt

Activity状态保存【onSaveInstanceState和onRestoreInstanceState】

Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法: 1. 基本作用:   Activity的 onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方法,它们不同于 onCreate()、onPause()

Android - 总结Activity与Fragment打开的时候获取组件的大小

Activity中获取 组件大小        代码: @Overridepublic void onWindowFocusChanged(boolean hasFocus) {// TODO Auto-generated method stubsuper.onWindowFocusChanged(hasFocus);Log.d("TAG", "A-button1-->"+button1);L