显式启动Activity和隐式启动Activity

1.显式启动
Intent intent = new Intent(this, class);
startActivity(intent);

2.隐式启动
AndroidManifest.xml中定义某个Activity的intent-fliter
<intent-filter>
<action android:name="com.example.activity.ACTION_START" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.example.activity.ACTION_START" />
</intent-filter>

Activity中
Intent intent = new Intent("com.example.activity.ACTION_START");
//android.intent.category.DEFAULT是一种默认的category,在startActivity时自动添加
intent.addCategory("com.example.activity.ACTION_START");
startActivity(intent);
隐式启动,在启动的时候是不明确的,需要匹配系统或AndroidManifest.xml中的intent-filter定义,只有action和category和data完全匹配时,才会启动.

隐式启动不仅可以启动自己的Activity,还可以启动其他的Activity,如打开网页
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);

这儿首先指定了intent的action为Intent.ACTION_VIEW,这是android内置的打开网页动作,然后通过Uri.parse将一个网址解析为Uri对象,再调用Intent的setData将Uri对象传递进去.

时间: 04-14

显式启动Activity和隐式启动Activity的相关文章

无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)

1.smartimageview使用 <LinearLayout 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"

activity的隐式和显式启动

显式Intent(Explicit intent):通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的. 隐式Intent(Implicit intent):通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间. 显式: Intent intent=new Intent(MainActivity.this,SettingActivity.class); startActivity(

activity之隐式启动

action:当有多个action匹配隐式启动时会弹出选择框 categroy :动作执行环境 Launcher属性通常与main配合使用 Defalut:按照普通的执行顺序.

[转]Activity详解 Intent显式跳转和隐式跳转

Activity 生命周期 显式 Intent 调用 1     //创建一个显式的 Intent 对象(方法一:在构造函数中指定) 2      Intent intent = new Intent(Intent_Demo1.this, Intent_Demo1_Result1.class); 3 4      Bundle bundle = new Bundle(); 5      bundle.putString("id", strID); 6      intent.putEx

Android Activity的跳转:普通跳转(显式跳转,隐式跳转)和传值跳转

Android Activity的跳转 1.普通跳转 @显式跳转 startActivity(new Instent(Activity.this,Activity2.class)); 注意:a--->b--->a(a跳转到b,按下back,回到a) 从一个Activity1跳转到另个Activity2,再由这个Activity2返回前面的Activity1,Activity的所执行的方法为:onCreate(a)---onStart(a)---onResume(a)---onPause(a)-

Activity的显式跳转和隐式挑战

安卓中Activity的跳转几乎是每一个APP都会用到的技术点.而且他的使用时十分简单的. 这里我们先说一下主要的技术要点: 1.在清单文件中注册新的Activity 2.通过意图跳转 这里我们看一下部分清单文件 注意,有配置红框的一般就是我们的主Activity,也就是程序的主入口.如果同时配置了两个主入口,则会生成两个快捷图标.一般我们不会这样使用. 好了,下面直接看代码吧. 清单文件 <?xml version="1.0" encoding="utf-8"

使用Intent实现Activity的隐式跳转

相比于显式Intent,隐式Intent 则含蓄了许多,它并不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action 和category 等信息,然后交由系统去分析这个Intent,并帮我们找出合适的活动去启动. 什么叫做合适的活动呢?简单来说就是可以响应我们这个隐式Intent 的活动,那么目前SecondActivity 可以响应什么样的隐式Intent 呢?额,现在好像还什么都响应不了,不过很快就会有了. 第一步  通过在<activity>标签下配置<intent

android--显式跳转和隐式跳转

区别如下: 显式启动Activity指的是在Intent内部直接声明要启动的activity所对应的class. 隐式启动Activity的intent到底发给哪个activity,需要进行三个匹配,一个是action, 一个是category,一个是data,可以是全部或部分匹配,同样适用于Service和BroadcastReceiver. A:显式启动 下面用代码来解释什么是显式启动. [java] view plain copy print? Intent intent=new Inte

android--显式跳转和隐式跳转的差别使用方法

#创建第二个activity * 新创建的activity.必须在清单文件里做配置,否则系统找不到,在显示时会直接报错 <activity android:name="com.itheima.createactivity.SecondActivity"></activity> * 仅仅要有下面代码,那么就是入口activity.就会生成快捷图标 <intent-filter> <action android:name="android