Android-Intent的使用方法详解

  • 官方文档<1>:https://developer.android.google.cn/guide/components/intents-common
  • 官方文档<2>:https://developer.android.google.cn/reference/android/content/Intent
  • 官方文档<3>:https://developer.android.google.cn/guide/components/intents-filters

 运行截图:

Android-Intent的使用方法详解_第1张图片

 

Android-Intent的使用方法详解_第2张图片

Demo分为两个活动,一个为主活动,另外一个为SecondActivity,通过主活动中的四个按钮,分别执行不同的操作。

AndroidManifest.xml 




    

        
            
                

                
            
        

        
            
                
                
            
        

    

activity_main.xml




    

    

MainActivity.java

package com.zgh.leo.intentdemo;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button btn1;
    private Button btn2;
    private Button btn3;
    private Button btn4;
    private Intent intent;

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

        init();

    }

    /**
     * 初始化控件
     */
    private void init() {
        btn1 = findViewById(R.id.btn1);
        btn2 = findViewById(R.id.btn2);
        btn3 = findViewById(R.id.btn3);
        btn4 = findViewById(R.id.btn4);

        btn1.setOnClickListener(this);
        btn2.setOnClickListener(this);
        btn3.setOnClickListener(this);
        btn4.setOnClickListener(this);

        intent = new Intent(MainActivity.this,SecondActivity.class);
    }

    /**
     * 设置监听
     * @param v
     */
    @Override
    public void onClick(View v) {
        switch (v.getId()){
                //显式
            case R.id.btn1:
                startActivity(intent);
                break;
                //隐式
            case R.id.btn2:
                //此处与AndroidManifest.xml文件内的活动标签一致
                intent.setAction("自己起个名");
                intent.addCategory("自己起个名");
                startActivity(intent);
                break;
                //打开浏览器
            case R.id.btn3:
                Intent intent1 = new Intent(Intent.ACTION_VIEW);
                intent1.setData(Uri.parse("http://www.csdn.net"));
                startActivity(intent1);
                break;
                //打开拨号盘
            case R.id.btn4:
                Intent intent2 = new Intent(Intent.ACTION_DIAL);
                intent2.setData(Uri.parse("tel:10086"));
                startActivity(intent2);
                break;
        }
    }
}

activity_second.xml




    

SecondActivity.java

package com.zgh.leo.intentdemo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class SecondActivity extends AppCompatActivity {

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

Demo源码:https://download.csdn.net/download/qq_41113081/10924462

你可能感兴趣的:(Android)