Android 中 Activity显示隐式跳转

安卓中经常涉及到activity的跳转,跳转怎么样在安卓中实现呢,如下。

创建第二个activity就是创建一个class,继承自Android.app.Activity.

创建第二个activity的同时需要在清单文件中配置,不然会找不到

<activity android:name="com.ldw.createActivity.SecondActivity"></activity> 

入口activity有下面的代码,只要activity有下面的代码,就会创建一个图标。默认图标是一样的

可以通过android:lable=“”来设置图标的名字。

<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> 

如果activity所在的包跟应用包名同名,则可以不写。

完整的清单中的配置如下:

<activity
 android:name="com.ldw.activityto.MainActivity"
 android:label="@string/app_name" >
 <intent-filter>
  <action android:name="android.intent.action.MAIN" /> 

  <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>
</activity> 

隐式跳转和显示跳转

显示跳转到activity

显示跳转中清单文件需要添加下面的配置

<activity android:name="com.ldw.activityto.SecondActivity"></activity> 

代码中的实现如下

/*
 * 跳转到本应用中的activity
 * 显示跳转:直接指定目标activity的包名和类名
 */
public void click2(View v){
 Intent intent = new Intent();
 //第一个参数是上下文对象,第二个参数是制定目的activity的类名
 //显示意图
 intent.setClass(this, SecondActivity.class);
 startActivity(intent);
}

隐式跳转到activity

intent-filter意图过滤器中有3个参数action,category,data。action和data可以配置多个。category是系统的配置,action中的name是自己随便定义的,定义好以后name的值就是activity的动作,隐式启动activity时,意图中的配置必须和这里的action的name是一致的。data是跳转的过程中携带的参数,mimeType是携带的数据的类型,根据意图过滤器中中的配置,跳转中针对data的配置需要做不同的处理。

<activity android:name="com.ldw.activityto.SecondActivity">
   <intent-filter>
    <action android:name="com.ldw.activityto.sa"/>
<span style="white-space:pre">  </span> <action android:name="com.ldw.activityto.sasa"/>
<span style="white-space:pre">  </span> <data android:scheme="ldw" android:mimeType="text/password"/>
    <category android:name="android.intent.category.DEFAULT"/>
   </intent-filter>
  </activity> 

代码中的实现如下

/*
  * 隐式跳转到拨secondActivity
  */
 public void click5(View v){
 <span style="white-space:pre"> </span>Intent intent = new Intent();
 <span style="white-space:pre"> </span>//目标activity的包名和类名
 <span style="white-space:pre"> </span>intent.setAction("com.ldw.activityto.sa");
 <span style="white-space:pre"> </span>intent.setData(Uri.parse("ldw:canshu")); //scheme中的参数加上冒号,没有miniType时候的配置
 <span style="white-space:pre"> </span>//intent.setType("text/password");//没有配置data却有miniType的时候的配置
 <span style="white-space:pre"> </span>//intent.setDataAndType(Uri.parse("ldw:canshu"), "text/password");//data和miniType都有的时候的
 <span style="white-space:pre"> </span>intent.addCategory(Intent.CATEGORY_DEFAULT);//不写这句系统就添加默认的category
 <span style="white-space:pre"> </span>startActivity(intent);
 } 

activity中获取到传递的参数的方法:

package com.ldw.activityto;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
public class SecondActivity extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_second);
  //获取到启动这个activity的意图
  Intent intent = getIntent();
  //获取到传递过来的数据
  Uri uri = intent.getData();
 }
} 

如何选择哪一种启动方式:启动同一个应用中的activity适合用显示,启动不同应用中的activiy适合用隐式。全部使用隐式是完全没有问题的,使用显示的效率更高一些。当系统中有多个activity与意图设置的Action匹配,那么启动Activity时,会弹出对话框,里面包含匹配的Activity。

打电话应用的配置

/*
 * 跳转到打电话activity
 * 隐式跳转:通过制定action和data来跳转
 */
 public void click1(View v){
 Intent intent = new Intent();
 //隐式意图
 intent.setAction(Intent.ACTION_CALL);
 intent.setData(Uri.parse("tel:1190"));
 //跳转
 startActivity(intent);
 }
 /*
 * 显示跳转到拨号器
 */
 public void click3(View v){
 Intent intent = new Intent();
 //目标activity的包名和类名
 intent.setClassName("com.android.dialer", ".DialtactsActivity");
 startActivity(intent);
 } 

启动浏览器的方式

/*
  * 显示跳转到浏览器
  */
 public void click6(View v){
 <span style="white-space: pre;"> </span>Intent intent = new Intent();
 <span style="white-space: pre;"> </span>//目标activity的包名和类名
 <span style="white-space: pre;"> </span>intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");
 <span style="white-space: pre;"> </span>startActivity(intent);
 }
 /*
  * 隐式跳转到浏览器
  */
 public void click7(View v){
 <span style="white-space: pre;"> </span>Intent intent = new Intent();
 <span style="white-space: pre;"> </span>//目标activity的包名和类名
 <span style="white-space: pre;"> </span>intent.setAction(intent.ACTION_VIEW);
 <span style="white-space: pre;"> </span>intent.setData(Uri.parse("http://www.baidu.com"));
 <span style="white-space: pre;"> </span>startActivity(intent);
 } 

以上所述是小编给大家介绍的Android 中 Activity显示隐式跳转,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Android显式启动与隐式启动Activity的区别介绍

    前段时间立志坚持写博客,但是发现自己的积累的确不多,于是假期泡了泡图书馆,读了一些很有价值的文章.收获颇多,今天的文章分享为主,共同学习. 为什么要写显式启动与隐式启动Activity.这源于自己的一次面试,被Baidu工程师问道,但是后来觉得自己回答的不好,废话少说,进入正题. 如题,Android的Acitivity启动大致有两种方式:显式启动与隐式启动.下面分别介绍: A:显式启动 对于初学者来说,这个最常见,下面用代码来解释什么是显式启动. 复制代码 代码如下: Intent inten

  • Android中Activity跳转的创建步骤总结

    一.创建工程 file->new->android application依次填入应用名称.工程名.包名 在工程目录下找到src/com.example.helloworld MainActivity.java 二.添加代码 复制代码 代码如下: package com.example.helloworld; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import

  • android游戏载入的activity跳转到游戏主菜单的activity具体实现

    复制代码 代码如下: public class LoadActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉标题栏 getWindow().setFlags(WindowManager.Layou

  • android的activity跳转到另一个activity

    开发环境:android4.1.1 实验功能:在第一个Hello World!为标签的activity中显示good,该界面中有一个名为Next的按钮.点击Next按钮进入到第二个activity中去,第二个界面中只有1个Close按钮.当然,据网上有人将要比较安全的实现关闭程序的功能也不是挺简单的,因为android有专门的退出键返回键等.所以该Close按钮暂时没去实现它.我的第1个activity为HelloworldActivity,第2个activity为NextActivity. 实

  • Android的Activity跳转动画各种效果整理

    大家使用Android的原生UI都知道,Android的Activity跳转就是很生硬的切换界面.其实Android的Activity跳转可以设置各种动画.下面给大家看看效果:  实现非常简单,用overridePendingtransition(int inId, int outId)即可实现.inId是下一界面进入效果的xml文件的id,outId是当前界面退出效果的xml文件id. 效果是用xml文件写的,首先要在res文件夹下建立anim文件夹,然后把动画效果xml文件放到里面去. 下面

  • Android Activity切换(跳转)时出现黑屏的解决方法 分享

    在两个Activity跳转时,由于第二个Activity在启动时加载了较多数据,就会在启动之前出现一个短暂的黑屏时间,解决这个问题比较简单的处理方法是将第二个Activity的主题设置成透明的,这样在启动第二个Activity时的黑屏就变成了显示第一个Activity界面.这个分两步完成:第一步:xxx/res/values/styles.xml中加入自定义Activity的Theme,如下所示: [html]  <style name="Transparent" parent=

  • Android 中 Activity显示隐式跳转

    安卓中经常涉及到activity的跳转,跳转怎么样在安卓中实现呢,如下. 创建第二个activity就是创建一个class,继承自Android.app.Activity. 创建第二个activity的同时需要在清单文件中配置,不然会找不到 <activity android:name="com.ldw.createActivity.SecondActivity"></activity> 入口activity有下面的代码,只要activity有下面的代码,就会创

  • Android中activity跳转按钮事件的四种写法

    具体实现代码: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 方法1. 采用实现OnClickListener接口的类 ((Button) findViewById(R.i

  • Android中activity从创建到显示的基本介绍

    前言 说道Android中的Activity,如果你做过iOS开发的话,Activity类似于iOS中的ViewController(视图控制器).在应用中能看到的东西都是放在活动中的.活动是安卓开发比较重要的东西,是用户交互和数据的入口.本篇博客要介绍的内容是活动的创建,活动的跳转与值的透传. iOS中的ViewController也是有自己的生命周期的,了解Activity或者ViewController的生命周期是很有必要的,本文将详细的给大家介绍关于Android中activity从创建

  • Android中AlertDilog显示简单和复杂列表的方法

    本文实例讲述了Android中AlertDialog显示简单和复杂列表的方法.分享给大家供大家参考,具体如下: AlertDialog 显示简单列表 setItems import Android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.os.Handler; import andro

  • Android中Activity常用功能设置小结(包括全屏、横竖屏等)

    本文实例讲述了Android中Activity常用功能设置小结(包括全屏.横竖屏等).分享给大家供大家参考,具体如下: Activity全屏设置 方式1:AndroidManifest.xml 复制代码 代码如下: <activity android:name="myAcitivty"  android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> 方式2:代码实现 复制代码 代码如下: re

  • Android中Activity滑动关闭的效果

    最近感觉有一个Activity关闭的效果挺不错的,就是手势滑动就可以关闭当前Activity,于是就想写一篇博客和大家一起分享下!废话不多说,老规矩,还先上效果图,更直观! 项目地址:https://github.com/xinyitiandi/SlidingFinishDemo 上代码: 1.第一个Activity: package com.ekeguan.slidingfinishdemo; import android.content.Intent; import android.os.B

  • 编程之显示/隐式声明

    显示声明 是程序中的一条说明语句,它列出一批变量名并指明这些变量的类型.如C.C++.Java中 复制代码 代码如下: // 显示声明 变量count,类型为int,占用空间大小各语言可能有所不同 int count; 又如JavaScript中 复制代码 代码如下: // 显示声明 变量count,但不知其类型,也不知其占用空间大小 var count; 隐式声明 指通过某种默认协定的方法将变量名与类型绑定 如在Fortain中,一个以字母I.J.K.L.M或者N(或其对应小写)开始,它们被隐

  • Android中activity处理返回结果的实现方式

    大家在网上购物时都有这样一个体验,在确认订单选择收货人以及地址时,会跳转页面到我们存入网站内的所有收货信息(包含收货地址,收货人)的界面供我们选择,一旦我们点击其中某一条信息,则会自动跳转到订单提交界面,此时的收货信息已经变为我们之前选择的收件信息. 为了实现这个功能,Android提供了一个机制,跳转到其他activity时,再返回,可以接受到其他activity返回的值,无需再start新的当前activity:下面的示例中,创建两个activity,其中在MainActivity中提示输入

  • 简单介绍Android中Activity的四种启动模式

    在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. Activity有四种启动模式: 1. standard,默认的启动模式,只要激活Activity,就会创建一个新的实例,并放入任务栈中,这样任务栈中可能同时有一个Activity的多个实例. 2. singleTop,激活Activity时,如果栈顶是这个Activity,就不会创建新的实例:如果栈顶

  • Android中Activity过渡动画的实例讲解

    目录 前言 分解动画 效果视频 解析 滑动动画 效果视频 解析 淡出动画 效果视频 解析 共享元素 共享单个元素 解析 共享多个元素 效果视频 全部代码 总结 前言 以前Activty之间得跳转非常生硬,自Android.5X后,Google对Activity的切换设计更多丰富的动画效果. Android 5.X提供了三种Transition类型,具体如下: ✧进入:一个进人的过渡动画决定Activity中的所有的视图怎么进入屏幕. ✧退出:一个退出的过渡动画决定-个Activity 中的所有视

随机推荐