activity之间跳转

1、显示跳转

跳android系统定义Activity方法

/**
     * 显示跳转至拨号器
     */
    public void click3(View v){
        Intent intent = new Intent();
        //指定目标Activity的包名和类名
        intent.setClassName("com.android.dialer", "com.android.dialer.DialtactsActivity");
        startActivity(intent);
    }
 /**
     * 显式跳转至浏览器
     */
    public void click6(View v){
        Intent intent = new Intent();
        intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
        startActivity(intent);
    }

跳自定义Activity方法

/**
     * 跳转至secondActivity
     * 在本应用中跳转
     * 显示跳转:直接指定目标Activity的包名和类名
     * @param v
     */
    public void click2(View v){
        Intent intent = new Intent();
        //cls:直接指定目标Activity的类名
        //显示意图
        intent.setClass(this, SecondActivity.class);
        startActivity(intent);
    }
/**
     * 跳转至secondActivity
     * 在本应用中跳转
     * 显示跳转:直接指定目标Activity的包名和类名
     * @param v
     */
    public void click2(View v){
        Intent intent = new Intent(this, SecondActivity.class);

        startActivity(intent);
    }

2、隐式跳转

跳android系统定义activity

 /**
     * 跳转至打电话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"));
        //跳转
        startActivity(intent);
    }
  /**
     * 隐式跳转至拨号器
     */
    public void click4(View v){
        Intent intent = new Intent();
        //隐式设置拨号器的动作
        intent.setAction(Intent.ACTION_DIAL);
        startActivity(intent);
    }
  /**
     * 隐式跳转至浏览器
     * @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

 public void click7(View v){
Intent intent = new Intent();
intent.setAction("android.intent.action.thirdActivity");
startActivity(intent);
    }
//可以不写,在默认情况下;否则要与清单文件匹配
        intent.addCategory("android.intent.category.DEFAULT");

至少要在跳转的activity中配置action 、category

 <activity
            android:name="com.qishui.activity.ThirdActivity"
             >
            <intent-filter>
                <action android:name="android.intent.action.thirdActivity" />

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

在清单文件中意图匹配中还可以添加

 <data android:scheme="qishui" />

在意图跳转时需要加上

//qishui前缀
        intent.setData(Uri.parse("qishui:10086"));

如果配置了

<data android:mimeType="text/account" />

那就要

//设置类型
        intent.setType("text/account");

如果一起设置了

 <data android:scheme="qishui" android:mimeType="text/account" />

在意图中需要使用

intent.setDataAndType(Uri.parse("qishui:10086"), "text/account");

在跳转至的activity中获取传递过来的数据

Intent intent = getIntent();    
String data = intent.getDataString();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值