Intent 显示和隐式跳转

显示跳转和隐式跳转,发送短信,回到桌面

  • xml 文件
    1.activity_main.xml (主页面)
<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:orientation="vertical"
    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.lianxi.demo5.MainActivity" >

    <Button
        android:id="@+id/jump_bt1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="点击跳转到第二页面" />

    <Button 
        android:id="@+id/jump_bt2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="隐式跳转-通过action匹配"
        />

    <Button 
        android:id="@+id/jump_bt3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="隐式跳转-打开发送短信页面"
        />
    
    <Button 
        android:id="@+id/jump_bt4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="隐式跳转-通过category匹配"
        />
    
</LinearLayout>

2.activity_two.xml(第二个页面)

<RelativeLayout 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.lianxi.demo5.TwoActivity" >

    <TextView
        android:id="@+id/tv1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="关闭页面" />

</RelativeLayout>

3.activity_three(第三个页面)

<RelativeLayout 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.lianxi.demo5.ThreeActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

4.AndroidManifest.xml(清单文件)


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

    <!-- 添加应用权限 -->
    <uses-permission android:name="android.permission.SEND_SMS" />

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <!-- 声明activity -->

        <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>

        <!-- 注册的第二个activity的页面声明 -->

        <activity
            android:name=".TwoActivity"
            android:label="@string/title_activity_two" >
        </activity>

        <!-- 第三个页面的声明,定义隐式跳转方式启动该activity -->

        <activity
            android:name="com.lianxi.demo5.ThreeActivity"
            android:label="@string/title_activity_three" >
            <intent-filter>
                <action android:name="customer_action_here" />
                <!-- 隐式跳转配置-必须写actegory -->
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>
  • java文件

1.MainActivity.java

public class MainActivity extends Activity implements OnClickListener {

    private Button bt1, bt2, bt3, bt4;

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

        // 1. 通过id获得控件对象
        bt1 = (Button) findViewById(R.id.jump_bt1);
        bt2 = (Button) findViewById(R.id.jump_bt2);
        bt3 = (Button) findViewById(R.id.jump_bt3);
        bt4 = (Button) findViewById(R.id.jump_bt4);

        // 2. 给控件设置监听事件
        bt1.setOnClickListener(this);
        bt2.setOnClickListener(this);
        bt3.setOnClickListener(this);
        bt4.setOnClickListener(this);

    }

    /*
     * 点击事件触发时调用的方法
     */

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        switch (v.getId()) { // 通过id判断触发的控件

        case R.id.jump_bt1: // 界面间显示跳转

            // 创建一个意图,用来跳转页面时传递数据
            Intent intent = new Intent(MainActivity.this, TwoActivity.class);
            // 启动意图,跳转到第二个页面
            startActivity(intent);

            break;

        case R.id.jump_bt2:// 隐式跳转

            // 创建一个意图,用来跳转页面时传递数据
            Intent intent2 = new Intent();
            // 设置intent的动作为清单中指定的action
            intent2.setAction("customer_action_here");
            // 启动意图
            startActivity(intent2);

            break;

        case R.id.jump_bt3: // 隐式跳转-发送短信
            // 创建一个发送短信的地址
            Uri uri = Uri.parse("smsto:15934531976");
            // 创建一个意图,用来跳转页面时传递数据
            Intent intent3 = new Intent(Intent.ACTION_SENDTO, uri);
            
            
            // 启动意图
            startActivity(intent3);

            break;

        case R.id.jump_bt4: // 隐式跳转-通过catgory匹配-回到桌面

            // 创建一个意图,用来跳转页面时传递数据
            Intent intent4 = new Intent();
            // 匹配回到桌面的action属性
            intent4.setAction(Intent.ACTION_MAIN);
            // 添加Category属性
            intent4.addCategory(Intent.CATEGORY_HOME);
            // 启动意图
            startActivity(intent4);
            break;

        default:
            break;
        }

    }

}

2.TwoActivity.java

public class TwoActivity extends Activity implements OnClickListener {

    private TextView tv;

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

        tv = (TextView) findViewById(R.id.tv1);

        tv.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        // 关闭当前页面
        finish();

    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容