package com.itheima.jump;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} /**
* 跳转至打电话activity
* 跳转至其他应用的activity
* 隐式跳转:通过指定action和data
* @param v
*/
public void click1(View v){
Intent intent = new Intent();
//隐式意图
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:110")); tel是安卓默认的打电话Activity的前缀
//跳转
startActivity(intent);
} /**
* 跳转至secondActivity
* 在本应用中跳转
* @param v
*/
public void click2(View v){
Intent intent = new Intent();
//cls:直接指定目标Activity的类名
//显示意图
intent.setClass(this, SecondActivity.class);//字节码
startActivity(intent);
} /**
* 显示跳转至拨号器
*/
public void click3(View v){
Intent intent = new Intent();
//指定目标Activity的包名和类名,如果Activity所在的包跟应用包名(com.android.dialer)同名,那么可以省略不写
intent.setClassName("com.android.dialer", ".DialtactsActivity");
startActivity(intent);
}
/**
* 隐式跳转至拨号器
*/
public void click4(View v){
Intent intent = new Intent();
//隐式设置拨号器的动作
intent.setAction(Intent.ACTION_DIAL);
startActivity(intent);
} /**
* 隐式跳转至secondActivity
* @param v
*/
public void click5(View v){
Intent intent = new Intent();
intent.setAction("com.itheima.sa2"); //匹配<action android:name="com.itheima.sa2"/>
/*
intent.setData(Uri.parse("heima2:qwe")); 匹配android:scheme="heima2"
intent.setType("text/username"); 匹配android:mimeType="text/username"
*/ intent.setDataAndType(Uri.parse("heima2:qwe123"), "text/username");
//系统会自动添加默认的category
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivity(intent);
} /**
* 显式跳转至浏览器
*/
public void click6(View v){
Intent intent = new Intent();
//com.android.browser是包名这里是安卓自带的浏览器,com.android.browser.BrowserActivity是类名
intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
startActivity(intent);
}
/**
* 隐式跳转至浏览器,这里是隐士的启动,可以启动别的浏览器程序(例如360浏览器不是安卓默认的浏览器是跨应用调用Activity),那么这里会让你选择启动哪个浏览器。
* @param v
*/
public void click7(View v){
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);//没有指明调用哪个浏览器
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
}
}

清单文件:

<activity android:name=".SecondActivity">
<intent-filter >
<action android:name="com.itheima.sa"/>
<action android:name="com.itheima.sa3"/>
<data android:scheme="heima"/> java类里面前面也要指明data,并且前缀是heima
<data android:scheme="heima3"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter> <intent-filter >
<action android:name="com.itheima.sa2"/>
<data android:scheme="heima2" android:mimeType="text/username"/> mimeType是数据的类型
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>

###显式意图和隐式意图的应用场景
* 显式意图用于启动同一应用中的Activity
* 隐式意图用于启动不同应用中的Activity
* 如果系统中存在多个Activity的intent-filter同时与你的intent匹配,那么系统会显示一个对话框,列出所有匹配的Activity,由用户选择启动哪一个

android82 启动Actvity和Activity的生命周期的更多相关文章

  1. 十分钟掌握Activity的生命周期与启动模式

    1. Activity的生命周期 正常情况下的Activity生命周期如下图所示(来自Android Developer): 当资源相关的系统配置变更时(比如设备屏幕方向改变,键盘可见性变化),会导致 ...

  2. 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)

    1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCrea ...

  3. Android开发艺术探索(一)——Activity的生命周期和启动模式

    Activity的生命周期和启动模式 生命周期有? 1.典型情况下的生命周期—>指有用户参与的情况下,Activity所经过的生命周期改变 2.异常情况下的生命周期—>指Activity被 ...

  4. 《Android开发艺术探索》读书笔记 (1) 第1章 Activity的生命周期和启动模式

    第1章 Activity的生命周期和启动模式 1.1 Activity生命周期全面分析 1.1.1 典型情况下生命周期分析(1)一般情况下,当当前Activity从不可见重新变为可见状态时,onRes ...

  5. Activity的生命周期和启动模式

    Activity的生命周期分析 典型情况下的生命周期.是指在用户参与的情况下,Activity所经过的生命周期的改变. 异常情况下的生命周期.是指Activity被系统回收或者由于当前设备的Confi ...

  6. Activity的生命周期& 启动模式

    1.Activity的生命周期 生命周期这个事情,是android工程师最基础的知识,所以今天要讲的是一些不一样的东西. 1.1 OnStart,OnResume,OnPause,OnStop 他们的 ...

  7. Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式

    Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...

  8. 一、Activity的生命周期和启动模式

    1.Activity的生命周期 1.1.典型情况下的生命周期 在有用户参与的情况下,Activity所经过的生命周期的改变. Activity会经历如下生命周期: onCreate-onRestart ...

  9. 第一章:Activity的生命周期和启动模式

    Activity是Android中四大组件之首,所以需要重视,尤其是启动方式,在AndroidManifest.xml中的注册信息 (一)Activity的生命周期 1.1.1 正常情况下的生命周期 ...

随机推荐

  1. DJANGO:根据不同的环境,配置不同的SETTINGS文件,读取不同的DB,JENKINS,SALT配置

    今天撸了一次,实现如下: 1,新建配置目录,将不同的环境的SETTINGS.PY文件独立出来,并将各自环境引用的DB连接,JENKINS,SALT等参数都写在里面. DEMO: JENKINS = { ...

  2. Java使用java命令运行程序出现:找不到主类错误

    这是配置环境的问题. 在classpath里面添加 .; 即:点+分号 为什么呢,点代表当前目录.

  3. linux使用su切换用户提示 Authentication failure的解决方法& 复制文件时,报cp: omitting directory `XXX'

    linux使用su切换用户提示 Authentication failure的解决方法:这个问题产生的原因是由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在 ...

  4. HTML Jquery;marquee标签

    在<网页制作Dreamweaver(悬浮动态分层导航)>中,运用到了jQuery的技术,轻松实现了菜单的下拉.显示.隐藏的效果,不必再用样式表一点点地修改,省去了很多麻烦,那么jQuery ...

  5. LREM key count value

    LREM key count value Available since 1.0.0. Time complexity: O(N) where N is the length of the list. ...

  6. [OJ] Matrix Zigzag Traversal

    LintCode #46. Matrix Zigzag Traversal (Easy) class Solution { public: vector<int> printZMatrix ...

  7. laravel 框架学习资料

    demo:http://forumsarchive.laravel.io/viewtopic.php?id=3536 使用Laravel和Angular创建一个单页的评论应用 http://devel ...

  8. java的版本区别、下载、配置

    参考:http://blog.csdn.net/liujun13579/article/details/7684604 java的版本区别 常用的 java 程序分为  Java SE.Java EE ...

  9. poj2104

    裸的主席树,没什么好说的 type node=record        l,r,s:longint;      end; ..] of node;     sa,rank,a,b,sum,head: ...

  10. WordPress Woopra Analytics插件‘ofc_upload_image.php’任意PHP代码执行漏洞

    漏洞名称: WordPress Woopra Analytics插件‘ofc_upload_image.php’任意PHP代码执行漏洞 CNNVD编号: CNNVD-201310-195 发布时间: ...