安卓采用Intent切换activity

简介: Intent:Android程序中各组件之间进行交互的一种重要方式。可以指明当前组件 想要执行的动作,也可以在不同组件之间传递数据。如启动活动、启动服务、发送广播等。

1、显式Intent****


(1)重新创建一个SecondActivity(记得注册),在布局文件加入文本框显示内容“SecondActivity”。

(2)在MainActivity对于的布局文件中增加一个命令按钮,名称为“startSecondActivity”

(3)给步骤(2)添加的命令按钮增加监听事件,并在监听事件中通过Intent启动SecondActivity实现跳转:

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                //第一个参数表示当前的Activity,第二个参数表示要启动的Activity
startActivity(intent);//调动SecondActivity方法启动
*//从布局文件获取控件 Button**\
*Button button=(Button) findViewById(R.id.***button2***);\
button.setOnClickListener(**new** View.OnClickListener() {
  @Override\
    **public void** onClick(View view) {\
         *//弹出消息提示框**\
**//记得用show();**\
***Toast.*makeText*(MainActivity.**this**, **"startSecondActivity"** , Toast.***LENGTH_LONG***).show();\
        *//使用Intent显示 启动activity**\
***Intent intent =**new** Intent(MainActivity.**this**,SecondActivity.**class**);\
        startActivity(intent);\
**}\
});;


(1) 运行项目,验证点击命令按钮能否切换到SecondActivity。

运行截图:

网络异常,图片无法展示
|


2、隐式Intent****

隐式Intent并不能实现直接跳转,需要指定两个条件(intent-filter):action和category。

如果在intent-filter中指定category为default的category,即android.intent.category.DEFAULT,则只需满足action条件即可。

 

intent-filter在注册activity时添加,注册方法如下:


跳转方法为:

Intent intent=new Intent("com.example.demo1activity.SECOND_START");

startActivity(intent);

//Intent隐式*

***Intent intent =new Intent( "com.example.demo1activity.SECOND_START" );

intent.addCategory( "com.example.activitytest.MY_CATEGORY" );

startActivity(intent);  

 

 

intentfilter中只能有一个action,但可以有多个category,满足其中一个category即可。

 

网络异常,图片无法展示
|


网络异常,图片无法展示
|


 

 

3、隐式Intent的其他用法****


使用隐式intent,不但可以打开自己编写的activity,还可以打开系统编写的activity,比如浏览器,打电话等。

//隐式Intent的其他用法,还可以打开系统编写的activity,比如浏览器*

*Intent intent =new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse( "www.baidu.com" )); startActivity(intent);

 

解释:

Intent.ACTION_VIEW是系统内置的动作,打开浏览器;

setData()将一个Uri对象传入intent,用于指定该intent正在操作的数据,这些数据都是用Uri.parse()将字符串转换为Uri产生的。

 

在intent-filter中,添加标签,用于精确指定该activity能响应的数据类型,包括

android:scheme用于指定数据的协议部分,比如http。

该方法还可以打电话、显示地理位置等。

目录
相关文章
|
5月前
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
380 11
|
Android开发
Android面试题之Activity的启动模式和flag
Android Activity的四种启动模式:standard(默认,每次启动创建新实例),singleTop(栈顶复用,不走onCreate,调用onNewIntent),singleTask(栈内唯一,清除上方Activity)和singleInstance(单独栈内唯一)。启动模式在AndroidManifest.xml中配置,Intent Flags如FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_SINGLE_TOP可实现类似功能。了解这些对于处理Activity栈管理至关重要。
239 0
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
253 6
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
Android面试高频知识点(4) 详解Activity的启动流程
251 3
|
缓存 前端开发 Android开发
Android实战之如何截取Activity或者Fragment的内容?
本文首发于公众号“AntDream”,介绍了如何在Android中截取Activity或Fragment的屏幕内容并保存为图片。包括截取整个Activity、特定控件或区域的方法,以及处理包含RecyclerView的复杂情况。
236 3
|
XML Android开发 数据格式
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?
本文通过案例分析了在Android中当两个Activity都设置了`android.intent.category.LAUNCHER`类别时,会导致它们同时在应用启动器的"所有应用"页面显示为不同的启动入口。
422 2
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
讲解Activity的启动流程了,Activity的启动流程相对复杂一下,涉及到了Activity中的生命周期方法,涉及到了Android体系的CS模式,涉及到了Android中进程通讯Binder机制等等, 首先介绍一下Activity,这里引用一下Android guide中对Activity的介绍:
301 4
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
149 0
|
存储 大数据 数据库
Android经典面试题之Intent传递数据大小为什么限制是1M?
在 Android 中,使用 Intent 传递数据时存在约 1MB 的大小限制,这是由于 Binder 机制的事务缓冲区限制、Intent 的设计初衷以及内存消耗和性能问题所致。推荐使用文件存储、SharedPreferences、数据库存储或 ContentProvider 等方式传递大数据。
622 0
|
XML Android开发 数据格式
Android 中如何设置activity的启动动画,让它像dialog一样从底部往上出来
在 Android 中实现 Activity 的对话框式过渡动画:从底部滑入与从顶部滑出。需定义两个 XML 动画文件 `activity_slide_in.xml` 和 `activity_slide_out.xml`,分别控制 Activity 的进入与退出动画。使用 `overridePendingTransition` 方法在启动 (`startActivity`) 或结束 (`finish`) Activity 时应用这些动画。为了使前 Activity 保持静止,可定义 `no_animation.xml` 并在启动新 Activity 时仅设置新 Activity 的进入动画。
658 12

热门文章

最新文章