android_39_跳转至第2个Activity

效果:

清单:

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sg31.startactivity"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    // 打电话
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".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>
        
        // 第2个activity
        <activity android:name="com.sg31.startactivity.SecondActivity">
            <intent-filter >
                <action android:name="com.sg31.alphaListCtrl"/>
                <data android:scheme="scheme_beyond"/>
                // default可省
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            
            
            <intent-filter >
                <action android:name="com.sg31.alphaListCtrl2"/>
                <data android:scheme="scheme_beyond2" android:mimeType="text/mimeType_sg31"/>
                // default可省
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
        
    </application>

</manifest>

 

 

 

 

 

主activity布局:

 

<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.sg31.startactivity.MainActivity" android:orientation="vertical"
    >

     <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是主activity"
        android:textSize="18sp"
        />

     <Button 
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="隐式跳转至打电话activity"
         android:onClick="yin_callBtnClicked"
         />
     <Button 
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="显示跳转至secondActivity"
         android:onClick="xian_jumpToSecondActivityBtnClicked"
         />
     <Button 
          android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="显示跳转至拨号器"
         android:onClick="xian_dailBtnClicked"
         />
     <Button 
          android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="隐式跳转至拨号器"
         android:onClick="yin_dailBtnClicked"
         />
     <Button 
          android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="隐式跳转至secondActivity"
         android:onClick="yin_jumpToSecondActivityBtnClicked"
         />
     <Button 
          android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="显示跳转至浏览器"
         android:onClick="xian_broswerBtnClicked"
         />
     <Button 
          android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="隐式跳转至浏览器"
         android:onClick="yin_broswerBtnClicked"
         />
</LinearLayout>

 

 

 

 

 

第2个activity布局:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是第二个activity"
        android:textSize="18sp"
        />
</LinearLayout>

 

 

 

 

 

第2个activity代码:

 

package com.sg31.startactivity;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;

public class SecondActivity extends ActionBarActivity {

	protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        
        
      //获取到启动这个activity的意图
      		Intent intent = getIntent();
      		Uri uri = intent.getData();
      		if (uri != null) {
      			System.out.println("sg__"+uri.toString());				
			}
      		
    }

}

 

 

 

 

 

主activity代码:

 

package com.sg31.startactivity;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

public class MainActivity extends ActionBarActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	/**
	 * 跳转至打电话activity 跳转至其他应用的activity 隐式跳转:通过指定action和data
	 * 
	 * @param v
	 */
	public void yin_callBtnClicked(View v) {
		Intent intent = new Intent();
		// 隐式意图
		intent.setAction(Intent.ACTION_CALL);
		intent.setData(Uri.parse("tel:110"));
		// 跳转
		startActivity(intent);
	}

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

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

	/**
	 * 隐式跳转至拨号器
	 */
	public void yin_dailBtnClicked(View v) {
		Intent intent = new Intent();
		// 隐式设置拨号器的动作
		intent.setAction(Intent.ACTION_DIAL);
		startActivity(intent);
	}

	/**
	 * 隐式跳转至secondActivity
	 * 
	 * @param v
	 */
	public void yin_jumpToSecondActivityBtnClicked(View v) {
		Intent intent = new Intent();
		intent.setAction("com.sg31.alphaListCtrl2");
		
		// 下面的两个方法,不能同时生效
		// intent.setData(Uri.parse("scheme_beyond2:qwert"));
		// intent.setType("text/mimeType_sg31");
		// intent.setData(Uri.parse("scheme_beyond2:qwert12345"));

		
		// 需同时设置,则只能用这个API
		intent.setDataAndType(Uri.parse("scheme_beyond2:qwert12345"), "text/mimeType_sg31");
		// 系统会自动添加默认的category,可不写
		intent.addCategory(Intent.CATEGORY_DEFAULT);
		startActivity(intent);
	}

	/**
	 * 显式跳转至浏览器
	 */
	public void xian_broswerBtnClicked(View v) {
		Intent intent = new Intent();
		intent.setClassName("com.android.browser",
				"com.android.browser.BrowserActivity");
		startActivity(intent);
	}

	/**
	 * 隐式跳转至浏览器
	 * 
	 * @param v
	 */
	public void yin_broswerBtnClicked(View v) {
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_VIEW);
		intent.setData(Uri.parse("http://www.sg31.com"));
		startActivity(intent);
	}
}

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值