• Android基础——Intent的Action和Data,Category属性


    布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">
    
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="打电话"
            />
        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="发短信"
            />
        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="返回桌面"
            />
    
    </LinearLayout>

    java调用

    package com.example.myintentii;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.content.Intent;
    import android.net.Uri;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button button1 = (Button)findViewById(R.id.button1);
            Button button2 = (Button)findViewById(R.id.button2);
            //设置监听器对象
            button1.setOnClickListener(listener);
            button2.setOnClickListener(listener);
    
            //使用Category:提供将要执行的action的额外信息,一般在隐式地启动activity时需要用到。常见的category如下:
            Button button3 = (Button)findViewById(R.id.button3);
            button3.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent();
                    intent.setAction(intent.ACTION_MAIN);
                    intent.addCategory(intent.CATEGORY_HOME);//回到桌面,让Activity不销毁,程序后台运行
                    startActivity(intent);
                }
            });
        }
    
        View.OnClickListener listener = new View.OnClickListener() {
            @Override//点了一下按钮的监听器
            public void onClick(View v) {
                Intent intent = new Intent();
                Button button = (Button)v;
                switch (button.getId()){
                    case R.id.button1:  //打电话
                        intent.setAction(intent.ACTION_DIAL);//设置打电话ACTION
                        intent.setData(Uri.parse("tel:00000000"));//设置电话号
                        startActivity(intent);
                        break;
                    case R.id.button2:  //发短信
                        intent.setAction(intent.ACTION_SENDTO);
                        intent.setData(Uri.parse("smsto:11111111"));
                        intent.putExtra("sms_body","Hello world");//编辑短信内容
                        startActivity(intent);
                        break;
                }
            }
        };
    }
  • 相关阅读:
    Linux-redis实现session复制
    Linux-sentinel实现redis主从高可用
    Linux-初识redis
    Docker-docker-machine
    Linux-Nginx服务调优(下)
    Linux-Nginx服务调优(上)
    Linux-nginx.conf配置文件模板
    Linux-编译安装Nginx
    VS Code (visual studio code) VSC 编辑器(微软出品,js开发的编辑器)
    好用的在线工具
  • 原文地址:https://www.cnblogs.com/zsben991126/p/12236963.html
Copyright © 2020-2023  润新知